CakePHP 1.3 не содержит правильных ассоциаций

это мой первый вопрос. У меня проблема с сдерживающим поведением в cakephp 1.3. Проблема заключается в следующем: у меня есть модель Конечного продукта со следующими ассоциациями:

class Deliverable extends AppModel { var $name = 'Deliverable'; var $displayField = 'name'; var $actsAs = array('Containable'); var $belongsTo = array( 'Asset' => array( 'className' => 'Asset', 'foreignKey' => 'asset_id', 'dependent' => false ), 'DelRouteName' => array( 'className' => 'DelRouteName', 'foreignKey' => 'del_route_name_id', ), 'AccessGroup' => array( 'className' => 'AccessGroup', 'foreignKey' => false, 'conditions' => 'Deliverable.role_id = AccessGroup.id' ) ); var $hasOne = array( 'Artifact' => array( 'className' => 'Artifact', 'foreignKey' => 'deliverable_id', 'dependent' => true, ) ); var $hasMany = array( 'Delivery' => array( 'className' => 'Delivery', 'foreignKey' => 'deliverable_id', 'dependent' => true, 'order' => 'Delivery.gmt_created', ) ); 

И вот конфигурация настроек разбиения на страницы:

 $this->paginate['Deliverable'] = array_merge($this->paginate['Deliverable'], array( 'limit' => $this->getSysPref('items_per_page', 20), 'conditions' => array( 'Deliverable.role_id' => $this->myRoleSetIds(), 'Deliverable.asset_id' => $asset['Asset']['id'], 'Delivery.gmt_created >' => $keep_time ), 'order' => 'Deliverable.name', 'contain' => array( 'AccessGroup', 'Delivery' => array( 'conditions' => array( 'Delivery.gmt_created >' => $keep_time ), 'limit' => 1, 'order' => 'Delivery.gmt_created DESC' ), 'DelRouteName' ) )); $deliverables = $this->paginate('Deliverable'); 

Как вы можете видеть, добавлено сдерживаемое поведение, определенные ассоциации и связанные с ними модели (в разделе настройки страницы).

Эта проблема, с которой я сталкиваюсь, заключается в том, что она может успешно запрашивать содержащиеся в ней модели «AccessGroup» и «DelRouteName», но не получает связанные данные «Доставка». Ошибка появляется только в том случае, если я устанавливаю условие родительской модели (Конечный результат), ориентируясь на дочернюю модель (Delivery), которую я сделал раньше, и является совершенно законным. Я получаю эту ошибку SQL, и, как вы видите, поставки таблицы не объединены вообще, но access_groups и del_route_names.

Вот SQL, который создает торт:

 SELECT "Deliverable"."id" AS "Deliverable__id", "Deliverable"."name" AS "Deliverable__name", "Deliverable"."artifact_name" AS "Deliverable__artifact_name", "Deliverable"."type" AS "Deliverable__type", "Deliverable"."asset_id" AS "Deliverable__asset_id", "Deliverable"."del_route_name_id" AS "Deliverable__del_route_name_id", "Deliverable"."artifact_id" AS "Deliverable__artifact_id", "Deliverable"."status" AS "Deliverable__status", "Deliverable"."delivery_id" AS "Deliverable__delivery_id", "Deliverable"."deliverable_id" AS "Deliverable__deliverable_id", "Deliverable"."gmt_created" AS "Deliverable__gmt_created", "Deliverable"."locked" AS "Deliverable__locked", "Deliverable"."frozen" AS "Deliverable__frozen", "Deliverable"."cloaked" AS "Deliverable__cloaked", "Deliverable"."role_id" AS "Deliverable__role_id", "DelRouteName"."id" AS "DelRouteName__id", "DelRouteName"."name" AS "DelRouteName__name", "DelRouteName"."type" AS "DelRouteName__type", "AccessGroup"."id" AS "AccessGroup__id", "AccessGroup"."name" AS "AccessGroup__name", "AccessGroup"."dn" AS "AccessGroup__dn", "AccessGroup"."filters" AS "AccessGroup__filters", "AccessGroup"."paths" AS "AccessGroup__paths" FROM "deliverables" AS "Deliverable" LEFT JOIN "del_route_names" AS "DelRouteName" ON ("Deliverable"."del_route_name_id" = "DelRouteName"."id") LEFT JOIN "access_groups" AS "AccessGroup" ON ("Deliverable"."role_id" = "AccessGroup"."id") WHERE "Deliverable"."role_id" = ('0') AND "Deliverable"."asset_id" = '2' AND "Delivery"."gmt_created" > '1361391936' ORDER BY "Deliverable"."name" ASC LIMIT 50 

который дает мне эту ошибку (используя postgresql)

 Warning (2): pg_query() [http://php.net/function.pg-query]: Query failed: ERROR: missing FROM-clause entry for table "Delivery" 

Я здесь в затруднении, поэтому любая помощь будет очень признательна. Дайте мне знать, если вам нужна дополнительная информация.