class Group extends AppModel { var $name = 'Group'; var $displayField = 'name'; 'className' => 'Member', 'foreignKey' => 'id', 'dependent' => false ) ); }
A w modelu Member (używam go zamiast User), mam:
var $name = 'Member'; var $displayField = 'username'; 'className' => 'Group', 'foreignKey' => 'group_id' ) );
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.
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.