我在控制器中创建了以下功能:
function beg($status_id = null) {
if(!empty($status_id)){
$conditions = array('winner_id >' => 0, 'Product.beginner' => '1', 'Product.status_id' => $status_id);
}else{
$conditions = array('winner_id >' => 0, 'Product.beginner' => '1');
}
$this->paginate = array('conditions' => $conditions, 'limit' => $this->appConfigurations['adminPageLimit'], 'order' => array('end_time' => 'asc'), 'contain' => array('Product' => array('Category'), 'Status', 'Winner'));
$this->set('products', $this->paginate('Product'));
$this->set('statuses', $this->Product->Status->find('list'));
$this->set('selected', $status_id);
$this->set('extraCrumb', array('title' => __('Product List', true), 'url' => 'beg'));
$this->render('beg');
}
我想在其中添加一个条件,即:
在Accounts表中搜索winner_id与accounts表中的'user_id'匹配,并且只在wins列表中的Customers表中添加Products,在Accounts表中(accounts表中的'user_id')。
任何人都知道如何使用此$conditions = array('winner_id >' => 0, 'Product.beginner' => '1', 'Product.status_id' => $status_id);
我添加了更多条件,如下面
$acc_id = $this->Account->find('all', array('Account.user_id'));
$conditions += array('Product.winner_id' => $acc_id);
但它不起作用,请告诉我哪里出错了
答案 0 :(得分:3)
如果您想为$conditions
添加一个条件,而不是尝试使用代码
$conditions += array('Product.status_id' => $status_id);
答案 1 :(得分:2)
是的,您可以使用下面的代码添加它
if ($account_user){
$conditions['accounts.user_id'] = $account_userid;
}
上面的代码将在相同的数组$条件中添加一个条件。