[英]CakePHP Mysql query with AND condition
我在CakePHP中运行Mysql查询,但未显示任何错误,但未输出任何结果。
MySQL查询是这样的:
SELECT `isbn`, `title`, `author_name` FROM `books` WHERE `author_name` = 'William Rice' AND `title` LIKE '%Course%' ORDER BY `title` ASC
并输出结果。
我已经在CakePHP find函数中编写了此代码:
$books = $this->Book->find('all', array('fields'=>array('Book.isbn', 'Book.title', 'Book.author_name'),
'conditions'=>array('Book.author_name'=>'William Rice',
'AND'=>array('Book.title'=>'LIKE %Course%')),
'order'=>'Book.title ASC',
));
但是查询不会运行。 是否这样指定AND条件? 请看看它,然后告诉我哪里错了。 谢谢。
不要使用AND数组:
您必须按照以下说明更改查询:
$books = $this->Book->find('all',
array('fields'=>array('Book.isbn', 'Book.title', 'Book.author_name'),
'conditions'=>array('Book.author_name'=>'William Rice',
'Book.title LIKE'=>'%Course%'),
'order'=>'Book.title ASC'
));
$books = $this->Book->find('all', array(
'fields' => array('Book.isbn', 'Book.title', 'Book.author_name'),
'conditions' => array(
'Book.author_name'=>'William Rice',
'Book.title LIKE'=>'%Course%'
),
'order'=>'Book.title ASC',
));
您只犯了一个错误,从查询中删除“ AND”,删除“ AND”后,查询将类似于以下查询。
$books = $this->Book->find('all', array(
'fields' => array('Book.isbn', 'Book.title', 'Book.author_name'),
'conditions' => array(
'Book.author_name'=>'William Rice',
'Book.title LIKE'=>'%Course%'
),
'order'=>'Book.title ASC',
)
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.