HasOne 和 HasMany 相同 Table cakephp
HasOne and HasMany for the same Table cakephp
我想将 hasOne
和 hasMany
设置为相同的 model
,在我的部分代码中我只需要 1 个结果,但在其他部分我需要所有结果(来自类型 Client 的对象将 return 用于我站点中的 table):
$this->hasOne('Vendas')
->setForeignKey('id_cliente')
->setBindingKey('id')
;
$this->hasMany('Vendas')
->setForeignKey('id_cliente')
->setBidingKey('id');
这是可能的,还是我弄错了?
如果关系是 1-*,您应该将关系定义为 hasMany()
。然后你写一个查询一个结果和一个查询多个结果
阅读手册https://book.cakephp.org/3.0/en/orm/associations.html。仔细阅读整个页面。
- class名称:与当前模型关联的 table 的 class 名称。如果您要定义“用户有一个地址”关系,class名称键应等于“地址”。
- conditions:find() 兼容条件的数组,例如['Addresses.primary' => true]
定义 class 名称和您的关联所需的条件。
$this->hasOne('Foo', [
'className' => 'Foo',
'conditions' => [/* whatever you need*/]
]);
$this->hasMany('Bar', [
'className' => 'Foo',
'conditions' => [/* whatever you need*/]
]);
我想将 hasOne
和 hasMany
设置为相同的 model
,在我的部分代码中我只需要 1 个结果,但在其他部分我需要所有结果(来自类型 Client 的对象将 return 用于我站点中的 table):
$this->hasOne('Vendas')
->setForeignKey('id_cliente')
->setBindingKey('id')
;
$this->hasMany('Vendas')
->setForeignKey('id_cliente')
->setBidingKey('id');
这是可能的,还是我弄错了?
如果关系是 1-*,您应该将关系定义为 hasMany()
。然后你写一个查询一个结果和一个查询多个结果
阅读手册https://book.cakephp.org/3.0/en/orm/associations.html。仔细阅读整个页面。
- class名称:与当前模型关联的 table 的 class 名称。如果您要定义“用户有一个地址”关系,class名称键应等于“地址”。
- conditions:find() 兼容条件的数组,例如['Addresses.primary' => true]
定义 class 名称和您的关联所需的条件。
$this->hasOne('Foo', [
'className' => 'Foo',
'conditions' => [/* whatever you need*/]
]);
$this->hasMany('Bar', [
'className' => 'Foo',
'conditions' => [/* whatever you need*/]
]);