Cakephp3多个连接表由Model

时间:2017-12-04 18:17:11

标签: mysql cakephp cakephp-3.0

我的代码有问题。此刻我有这样的代码视图:

...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的行。

0 个答案:

没有答案