锂框架如何用OR进行查询

时间:2014-07-31 16:43:10

标签: php mysql lithium

我开始使用锂php框架。我必须进行查询才能得到有问题的问题&%39%或者'%easy%'在'标题'领域。 我尝试使用以下代码进行操作:

$questions = Questions::find('all', array(
        'conditions'    => array(
            'name' => array(
                'like' => array(
                    '%easy%',
                    '%test%'
                )
            )
        )
    ));

但它提出了这个问题:

SELECT * FROM `questions` AS `Questions` WHERE (`name` LIKE '%easy%' AND `name` LIKE '%test%')

如何用OR替换AND?

感谢

1 个答案:

答案 0 :(得分:1)

作为您的问题的解决方案,您可以使用(=)而不是像

'conditions'    => array(
    'name' => array(
        '=' => array(
            '%easy%',
            '%test%'
        )
    )
)

这将生成查询:

WHERE ((`name` IN ('%easy%', '%test%')))

或者在使用两个不同的字段进行搜索时可以使用:

'conditions' => array(
    'OR' => array(
        'name' => array(
            '=' => array(
                '%easy%',
                '%test%'
            )
        ),
        'name2' => array(
            '!=' => array(
                '%easy%',
                '%test%'
            )
        )
    )
),

这将生成查询:

WHERE ((`name` IN ('%easy%', '%test%')) OR (`name2` IN ('%easy%', '%test%')))