2015-08-18 6 views
0

У меня есть 3 таблицы стилей продукции ДеталиCakePHP 3 Получение связанной таблицы из другой таблицы

Product < Styles  < details 
id  < product_id FK < styles_id FK 

Мои отношения до сих пор являются

//ProductTable 
$this->hasMany('Styles', [ 
     'foreignKey' => 'product_id' 
    ]); 

//StyleTable 
$this->belongsTo('Products', [ 
     'foreignKey' => 'product_id' 
    ]); 
$this->hasMany('Details', [ 
     'foreignKey' => 'style_id' 
    ]); 
//Detail 
$this->belongsTo('Styles', [ 
     'foreignKey' => 'style_id' 
    ]); 

В моих деталях контроллер под индексом(), добавить

$this->paginate = [ 
     'contain' => ['Styles’, ‘Products’] 
    ]; 

Стили работают, но продукты не работают. Я получаю справку Информация не связана с Продуктом. Это имеет смысл, я не определил его в таблице подробностей. Я не уверен, как начать, или то, что он называется.

Далеко слева присоединиться?

Я попытался

//Detail Table 
$this->belongsTo('Product', [ 
     'foreignKey' => 'product_style_id', 
     'targetForeignKey' => 'product_id', 
     'joinTable' => 'product_styles' 
    ]); 

спасибо

ответ

0

Я был в состоянии понять это

'contain' => ['Styles’, ‘Styles.Products’] 

Это работает

Смежные вопросы