【发布时间】:2017-03-29 15:54:12
【问题描述】:
我正在使用 CakePHP 3.2 和 find()。
if($filter_data_array['age_younger'] != '')
{
$conditions["icases.age <= "] = $filter_data_array['age_younger'];
}
if($filter_data_array['age_older'] != '')
{
$conditions["icases.age >= "] = $filter_data_array['age_older'];
}
if($filter_data_array['go_date_after'] != '')
{
$conditions["icases.go_date >= "] = $filter_data_array['go_date_after'];
}
if($filter_data_array['go_date_before'] != '')
{
$conditions["icases.go_date <= "] = $filter_data_array['go_date_before'];
}
if($filter_data_array['client'] != '')
{
$conditions["icases.client_id = "] = $filter_data_array['client'];
}
if($filter_data_array['case_name'] != '')
{
$conditions["icases.name = "] = $filter_data_array['case_name'];
}
if($filter_data_array['case_ref'] != '')
{
$conditions["icases.case_reference_i_d = "] = $filter_data_array['case_ref'];
}
if($filter_data_array['instruction_date'] != '')
{
$conditions["icases.date_instruction_received >= "] = $filter_data_array['instruction_date'];
}
$cases_data = TableRegistry::get('icases')->find('all')
->select(['icases.id', 'icases.state', 'icases.client_id', 'icases.name', 'icases.age', 'icases.case_reference_i_d', 'icases.go_date', 'clients.name'])
->innerJoin('icases_users', 'icases_users.icase_id = icases.id')
->where($conditions)
->innerJoin('clients', 'clients.id = icases.client_id')
->order(['clients.name' => 'ASC', 'icases.name' => 'ASC'])
->execute()
->fetchAll('assoc');
现在 icases 表中有一个状态列,我想过滤
icases.state='active' OR icases.state='pending' OR icases.state='archive'
我的问题是如何将它集成到我现有的 $conditions 数组中?
提前谢谢你。
【问题讨论】:
-
$conditions['status IN'] = ['active', 'pending', 'archive'];
标签: cakephp cakephp-3.0