Cakephp或条件实现
每件事都可以正常工作,但实现或条件给我错误控制器APP\Controller\AbcController.php中的非法偏移量类型您以错误的方式编写或条件,请尝试以下操作--Cakephp或条件实现,php,arrays,Php,Arrays,每件事都可以正常工作,但实现或条件给我错误控制器APP\Controller\AbcController.php中的非法偏移量类型您以错误的方式编写或条件,请尝试以下操作-- <?php class AbcController extends AppController { public function foo{ $conditions = array(); $conditions['City.id']=1; $conditions[array('OR'=>array(
<?php
class AbcController extends AppController {
public function foo{
$conditions = array();
$conditions['City.id']=1;
$conditions[array('OR'=>array(
'Subject.start_time1 BETWEEN ? AND ?'=>array($this->request->query['filters']['min_time'], $this->request->query['filters']['max_time']),
'Subject.end_time1 BETWEEN ? AND ?'=>array($this->request->query['filters']['min_time'], $this->request->query['filters']['max_time']),
'Subject.start_time2 BETWEEN ? AND ?'=>array($this->request->query['filters']['min_time'], $this->request->query['filters']['max_time']),
'Subject.end_time2 BETWEEN ? AND ?'=>array($this->request->query['filters']['min_time'], $this->request->query['filters']['max_time'])
))];
$this->paginate = array('conditions' => $conditions);
try {
$off = $this->paginate('Abc');
} catch (NotFoundException $e) {
$requestUrl = $this->request->here();
$newUrl = preg_replace('/page:(\d+)/', 'page:1', $requestUrl);
$this->redirect($newUrl);
}
}
我想使用$condition作为变量,因此无法将所有条件相加。请您更正上面给出的@anantOk的语法,让我在回答中自己做。我编辑了它。请检查,如果发生任何错误,请让我知道。永远欢迎。很高兴听到这个问题已经解决了,谢谢你给它打分。::请把答案也投票给我。谢谢
conditions += array('City.id'=>1);
$conditions += array('OR'=>array(
'Subject.start_time1 BETWEEN ? AND ?'=>array($this->request->query['filters']['min_time'], $this->request->query['filters']['max_time']),
'Subject.end_time1 BETWEEN ? AND ?'=>array($this->request->query['filters']['min_time'], $this->request->query['filters']['max_time']),
'Subject.start_time2 BETWEEN ? AND ?'=>array($this->request->query['filters']['min_time'], $this->request->query['filters']['max_time'),
'Subject.end_time2 BETWEEN ? AND ?'=>array($this->request->query['filters']['min_time'], $this->request->query['filters']['max_time'])
));