我有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'
]);
在index()下的我的详细信息控制器中,我添加了
$this->paginate = [
'contain' => ['Styles’, ‘Products’]
];
样式有效,但产品不起作用。我收到一个错误 详细信息与产品无关。这是有道理的我没有在详细信息表中定义它。我不知道如何开始,或者它叫什么。
最左边的加入?
我试过了
//Detail Table
$this->belongsTo('Product', [
'foreignKey' => 'product_style_id',
'targetForeignKey' => 'product_id',
'joinTable' => 'product_styles'
]);
谢谢
答案 0 :(得分:0)
我能够弄清楚
'contain' => ['Styles’, ‘Styles.Products’]
这有效