繁体   English   中英

使用AND条件的CakePHP Mysql查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM