我必须表
1. Products
2. VendorsInventories
注意:产品可能包含多个 VendorsInventories。
在模型/表格/供应商库存中
public function initialize(array $config)
{
parent::initialize($config);
$this->setTable('vendors_inventories');
$this->setDisplayField('id');
$this->setPrimaryKey('id');
$this->belongsTo('Products', [
'foreignKey' => 'products_id',
'joinType' => 'INNER'
]);
}
并在:模型/表/ProductsTable.php
public function initialize(array $config)
{
parent::initialize($config);
$this->setTable('products');
$this->setDisplayField('name');
$this->setPrimaryKey('id');
$this->addBehavior('Timestamp');
$this->hasMany('VendorsInventories',[
'foreignKey' => 'products_id',
'joinType' => 'INNER'
]);
}
在查询中:
$products=$this->Products->find('all')->contain(['VendorsInventories']);
结果是:
我的主要问题是:如何选择包含关系数据的行。注意:belongsTo() 工作正常,我对 hasToMany() 有问题