这是我的可容纳条件
$userStatusCondition = array('AND' => array(
'OR'=> array(
'TransactionStatus.buyer_status_id'=>$user_status_id,
'TransactionStatus.seller_status_id'=>$user_status_id,
)
)
);
合并条件(其他条件 + user_status 条件)
$transactions = $this->Transaction->find('all',array(
'conditions'=> Set::merge($otherConditions, $userStatusCondition),
'recursive'=>2));
在 TransactionModel 我设置
public $actsAs = array('Containable');
public $belongsTo = array(
'UserStatus' => array(
'className' => 'UserStatus',
'foreignKey' => 'buyer_status_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'UserStatus' => array(
'className' => 'UserStatus',
'foreignKey' => 'seller_status_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
);
问题
1)我不喜欢使用递归 2:它减少了查找方法 - 我认为在正确包含之后我认为我需要删除递归
2)我在 User_Status 表中有四个 user_statuse 1)等待 2)注意 3)阻止4)完成我要查找按buyer_status_id或seller_status_id过滤的交易
我不知道如何创建新行为 - 有一篇关于它的小文章 Using Contain