我的代码有问题。此刻我有这样的代码视图:
...Table.php
public function containBasic(){
return [
//Keywords
'CandidatesKeywords',
'CandidatesKeywords.Keywords',
//User
'CandidatesUser',
'CandidatesUser.User',
];
}
...Controller.php
$this->loadModel('Candidates');
$candidates = $this->Candidates->find()
->contain($this->Candidates->containBasic())
->where([
'CandidatesKeywords.Keywords.id'=>5
])
->all();
我通过包含所有其他模型。它的工作方式有效,但当我尝试在此代码中搜索数据时,我遇到如下错误:
未知栏' CandidatesKeyword.id'在' where子句
我不知道如何获得列CandidatesKeywords - >关键字 - >来自数据库的ID:/
当我得到(调试)没有where条件的所有行时,我得到这样的数据:
'items' => [
(int) 0 => object(Cake\ORM\Entity) {
'id' => (int) 4,
.........
,
'candidates_user' => null,
'candidates_keyword' => object(App\Model\Entity\CandidatesKeyword) {
'id' => (int) 1,
..................
'keyword' => object(App\Model\Entity\Keyword) {
'id' => (int) 5,
.............
我需要获得只有keyword.id = 5的行。