2016-09-07 157 views
1

我的账户型号:ID,名称CakePHP的双模型关联

我的条目型号:ID,account_id1,account_id2,量

所以我的项目有2个外键账户模式。

我定义了这样的模型关联。

$this->belongsTo(
    'Acc1', 
    [ 
    'className' => 'Accounts', 
    'foreignKey' => 'account_id1', 
    'joinType' => 'INNER', 
    ] 
); 

$this->belongsTo(
    'Acc2', 
    [ 
    'className' => 'Accounts', 
    'foreignKey' => 'account_id2', 
    'joinType' => 'INNER', 
    ] 
); 

现在我需要找到相关帐户名称以“ab”开头的条目。

在我的项目模型文件:

$this->find() 
    ->matching(
    'Acc1', 
    function ($q) { 
     return $q->where(['LEFT(Acc1.name, 2) =' => 'ab']); 
    } 
); 

这会给我哪里有相关的帐户(account_id1)的名字与“AB”

$this->find() 
    ->matching(
    'Acc1', 
    function ($q) { 
     return $q->where(['LEFT(Acc1.name, 2) =' => 'ab']); 
    } 
) 
    ->matching(
    'Acc2', 
    function ($q) { 
     return $q->where(['LEFT(Acc2.name, 2) =' => 'ab']); 
    } 
); 

这其中结果开始的所有条目帐户名称以“ab”开头。

如何获取Acc1.name Acc2.name以“ab”开头的条目?

回答