[英]CakePHP 3 Getting a Associated table from another table
我有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()下的details控制器中,添加
$this->paginate = [
'contain' => ['Styles’, ‘Products’]
];
样式有效,但产品无效。 我收到一个错误详细信息与产品无关。 这是有道理的,我没有在详细信息表中定义它。 我不确定如何开始,或者它叫什么。
最左的加入?
我努力了
//Detail Table
$this->belongsTo('Product', [
'foreignKey' => 'product_style_id',
'targetForeignKey' => 'product_id',
'joinTable' => 'product_styles'
]);
谢谢
我能够弄清楚
'contain' => ['Styles’, ‘Styles.Products’]
这有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.