2016-09-07 151 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」開頭的條目?

回答