我想将hasOne
和hasMany
设置为相同的model
,在我的代码的一部分中我只需要1个结果,但在其他方面我需要所有结果(对象)从类型客户端将返回我的网站中的表):
$this->hasOne('Vendas')
->setForeignKey('id_cliente')
->setBindingKey('id')
;
$this->hasMany('Vendas')
->setForeignKey('id_cliente')
->setBidingKey('id');
这是可能的,或者我犯了错误?
答案 0 :(得分:1)
阅读手册https://book.cakephp.org/3.0/en/orm/associations.html。仔细阅读整个页面。
定义关联所需的类名和条件。
$this->hasOne('Foo', [
'className' => 'Foo',
'conditions' => [/* whatever you need*/]
]);
$this->hasMany('Bar', [
'className' => 'Foo',
'conditions' => [/* whatever you need*/]
]);
答案 1 :(得分:0)
如果关系为1- *,则应将关系定义为hasMany()
。然后,您为一个结果和多个结果的查询编写查询