2013-05-01 2 views
2

У меня есть таблица продуктов и таблица products_relateds. Это имеет 2 ссылки на продукты (product_id и related_id)Cake PHP HABTM отношения с той же моделью

Я пытаюсь создать отношения HABTM для этого, как это в моем продукте Модель

public $hasAndBelongsToMany = array(
     'Related' => array(
      'className' => 'Product', 
      'joinTable' => 'products_relateds', 
      'foreignKey' => 'product_id', 
      'associationForeignKey' => 'related_id', 
      'unique' => 'keepExisting', 
      'conditions' => '', 
      'fields' => '', 
      'order' => '', 
      'limit' => '', 
      'offset' => '', 
      'finderQuery' => '', 
      'deleteQuery' => '', 
      'insertQuery' => '' 
     ) 
    ); 

Похож ли это правильно? Нужно ли создавать подобную модель? У меня нет ошибок, и просмотр страницы с продуктами не будет загружаться, если это отношение находится на месте

ответ

0

Этот код в порядке, ваша ошибка должна быть в другом месте. Использование $this->Product->findBy(1) должно вернуть примерно следующее:

array(
    'Product' => array(
     'id' => '1', 
     'name' => 'Test 1' 
    ), 
    'Related' => array(
     0 => array(
      'id' => '2', 
      'name' => 'Test 2', 
      'ProductsRelated' => array(
       'id' => '3', 
       'product_id' => '1', 
       'related_id' => '2' 
      ) 
     ), 
     1 => array(
      'id' => '3', 
      'name' => 'Test 3', 
      'ProductsRelated' => array(
       'id' => '1', 
       'product_id' => '1', 
       'related_id' => '3' 
      ) 
     ) 
    ) 
) 
Смежные вопросы