Запрос приносит данных игнорируя $conditions
делаю запрос и торт приносит все данные, минуя $conditions. Я хочу искать по дате, но когда я помещаю дату, которая не существует ни одной записи, даже так tráz все данные.
public function consultarDespesa() {
if ($this->request->is('post')) {
$dataDespesa=null;
$dataDespesa = $this->request->data['Despesa']['ano']."-".$this->request->data['Despesa']['mes'];
$despesas = $this->Despesa->find('all', array(
'conditions'=>array(
'data_despesa like'=>"%$this->dataDespesa%")));
if (($despesas==null) || (!isset($despesas))) {
$this->Session->setFlash("Sua pesquisa não retornou nenhum resultado.");
}
else {
$this->Session->write("Despesas", $despesas);
$this->redirect(array('action'=>'exibirDespesas'));
}
}
}
1
Author: bfavaretto, 2016-01-19
2 answers
Вы это сравнение даты с LIKE
и в этом случае не будет тебе возврата нет реестра, поскольку никакие записи это равно вас даты этого ищет.
При покупке дату определенного дня, вы можете использовать >=
<=
, between
или другие способы для сравнения даты.
Я больше и равно
$despesas = $this->Despesa->find('all', array(
'conditions'=>array(
'data_despesa >='=>"%$this->dataDespesa%",
'data_despesa <='=>"%$this->dataDespesa%"
)
));
Edit - Пытается сравнить таким образом:
$despesas = $this->Despesa->find('all', array(
'conditions'=>array(
'MONTH(data_despesa)'=>$this->request->data['Despesa']['mes'],
'YEAR(data_despesa)'=>$this->request->data['Despesa']['ano']
)
));
1
Author: Jeferson Assis, 2016-01-19 15:13:42
Измените это:
'data_despesa like'=>"%$this->dataDespesa%"
:
"data_despesa like '%{$this->dataDespesa}%'"
1
Author: bfavaretto, 2016-01-19 13:43:05