如何为所有记录设置带通配符的整数变量。原因是,如果没有设置id,有时我需要所有记录。我的通配符不起作用。我目前使用if条件来测试id是否已设置,并且有4个组合和2个变量。
LIKE选项对我也不起作用。
有没有一种方法可以为要搜索的变量分配一个值,这相当于所有的值,比如在sql中?例如
$tutorId='*';
$paycycleId='*';
$timesheet=$this->TimeSheet->find('all',array(
'conditions'=> array ('TimeSheet.tutor_id'=>$tutorId,'TimeSheet.period_start_date'=>$paycycleId ),
'order' => array('TimeSheet.invoice DESC')) );
如果您想要野生搜索或选择所有记录,请使用:
更新添加更好的方式
//更好的方式->
$conditionsArr = array();
if(CONDITION_SATISFIED){
$conditionsArr=array('TimeSheet.tutor_id'=>$tutorId,
'TimeSheet.period_start_date'=>$paycycleId
);
}
$timesheet=$this->TimeSheet->find('all',
array(
'conditions'=> $conditionsArr,
'order' => array('TimeSheet.invoice DESC')
)
);
//以前的方式->
$conditionsArrEmpty=array();
$conditionsArr=array('TimeSheet.tutor_id'=>$tutorId,
'TimeSheet.period_start_date'=>$paycycleId
);
//With Wildcard (Select All records)
$timesheet=$this->TimeSheet->find('all',
array(
'conditions'=> $conditionsArrEmpty,
'order' => array('TimeSheet.invoice DESC')
)
);
//在Acutal条件下
$timesheet=$this->TimeSheet->find('all',
array(
'conditions'=> $conditionsArr,
'order' => array('TimeSheet.invoice DESC')
)
);