繁体   English   中英

CakePHP 3从另一个表获取关联表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM