Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [cakePHP] Relacje i błąd przy generowaniu obrazka
sabat24
post
Post #1





Grupa: Zarejestrowani
Postów: 175
Pomógł: 26
Dołączył: 13.09.2007
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Potrzebowałem stworzyć relację pomiędzy użytkownikami, a przypisaną do nich grupą. Stworzyłem model Group

  1. class Group extends AppModel {
  2. var $name = 'Group';
  3. var $displayField = 'name';
  4.  
  5. var $hasMany = array(
  6. 'Member' => array(
  7. 'className' => 'Member',
  8. 'foreignKey' => 'id',
  9. 'dependent' => false
  10. )
  11. );
  12.  
  13. }


A w modelu Member (używam go zamiast User), mam:
  1. var $name = 'Member';
  2. var $displayField = 'username';
  3. var $belongsTo = array(
  4. 'Group' => array(
  5. 'className' => 'Group',
  6. 'foreignKey' => 'group_id'
  7. )
  8. );


Wszystko działa dobrze, jednak problem pojawia się w momencie, gdy z controllera chcę wywołać funkcję generującą obrazek captcha. Obrazek generowany jest klasycznie tzn.
  1. header("Expires: Sun, 1 Jan 2000 12:00:00 GMT");
  2. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
  3. header("Cache-Control: no-store, no-cache, must-revalidate");
  4. header("Cache-Control: post-check=0, pre-check=0", false);
  5. header("Pragma: no-cache");
  6. header("Content-Type: image/png");
  7. imagepng($this->im);

Problem jest w tym, że przy powyższej deklaracji zależności w modelu Member, do przeglądarki wysyłany jest nagłówek:
Kod
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8


natomiast kiedy usunę z modelu Member pole var $belongsTo - wszystko działa w porządku, obrazek się generuje i nagłówek wysyłany do przeglądarki ma wartość:
Kod
Accept: image/png,image/*;q=0.8,*/*;q=0.5


Dlaczego dodanie relacji powoduje taki dziwny błąd? Tak jakby jakiś znak był wysyłany wcześniej i psuł definicję nagłówka.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 11:48