Я ударил головой о стену над этим. У меня есть модель Sku, которая принадлежит модели Purchase. Мой AppModel имеетCakephp Containable не работает вообще
Внутри SkuController, когда я делаю $this->Sku->find('all', array('contain' => 'Purchase'));
Я не получаю покупку. Я искал много старых вопросов здесь и в других местах в Интернете, но просто не могу решить эту проблему. Чтобы проверить, загружается ли Containable поведение, я редактировал ContainableBehavior.php в lib \ Cake \ Model \ Behavior, чтобы сделать его недопустимым php-файлом, но это не вызвало ошибок. Что за черт!
Вот SQL от отладки:
ВЫБРАТЬ
Sku
.id
,Sku
.purchase_id
,Sku
.item_id
,Sku
.upc
,Sku
.quantity_avail
,Sku
.per_unit_price_amt
,Sku
.do_not_delete
,Sku
.created
,Sku
.modified
, (concat ('SK', lpad (Sku
.id
, 8, '0'))) ASSku__idFormatted
ОТsellble
.skus
ASSku
ГДЕ 1 = 1 ЗАКАЗАТЬSku
.id
убывание
CakePHP версия: 2.4.4
Является Sku модель, связанная с покупкой? –
Да, это связано – vikc
Используете ли вы 'actAs' или соответствующую переменную' actAs'? Являются ли ваши назначения переменных общедоступными, т. Е. 'Public $ actAs = array ('Containable');'? Если вы удалите рекурсивный параметр, возвращаются ли данные о покупке в вашу находку (только для проверки связи)? Если вы создаете отражение своей модели, переносит ли она массив, содержащий «Containable» в переменном actAsAs? –