Sql Cakephp中的like或操作符

Sql Cakephp中的like或操作符,sql,cakephp,cakephp-2.0,cakephp-2.1,Sql,Cakephp,Cakephp 2.0,Cakephp 2.1,我是cakephp新手,我想在现有查询中添加or、and和 $this->find('all', array( 'conditions' => array( 'OR' => array( array( "Message.mobileNo LIKE" => "%Contact.mobileNo", ), array(

我是cakephp新手,我想在现有查询中添加or、and和

$this->find('all', array(
    'conditions' => array(
        'OR' => array(
            array(
                "Message.mobileNo LIKE" => "%Contact.mobileNo",
            ),
            array(
                "Message.mobileNo LIKE" => "%Contact.homeNo",
            ),
            array(
                "Message.mobileNo LIKE" => "%Contact.workNo",
            )
        )
    ),
    'fields' => array('DISTINCT mobileNo')
));
我想创造一个这样的条件

WHERE  'Message.user_id = Contact.user_id' AND 'Message.mobileNo LIKE'=>"%Contact.mobileNo" OR LIKE'=>"%Contact.homeNo" OR LIKE'=>"%Contact.workNo"
我的问题是

$this->bindModel(array(
        'belongsTo' => array(
            'Contact' => array(
                'className' => 'Contact',
                'foreignKey' => false,
                'conditions' => array(
                    'Message.user_id = Contact.user_id',
                    'Message.mobileNo = Contact.mobileNo'
                ),
                'type' => 'inner'
            )
        )
    ), false); 

      $this->find('all', array('conditions' => array(),
        'fields' => array('DISTINCT mobileNo')));
您可以使用:表示“喜欢”

$this->Post->find(“全部”,数组('condition'=>array('Author')) 比如“=>”广告%”)

上面的查询将为您提供来自表POST的数据,其中作者姓名以“ad”开头

“或”

$this->Post->find(“全部”、数组('condition'=>array(“条件”)或“=>array('Author”) 比如“=>”广告%”,“作者”比如“=>”博%”)

上面的查询将为您提供来自表POST的数据,其中作者姓名以“ad”或“bo”开头


这篇文章对你也很有用

您可以在现有查询中使用如下所示

$this->find('all', array(
    'conditions' => array(
        'OR' => array(
            array(
                "Message.mobileNo LIKE" => "%Contact.mobileNo",
            ),
            array(
                "Message.mobileNo LIKE" => "%Contact.homeNo",
            ),
            array(
                "Message.mobileNo LIKE" => "%Contact.workNo",
            )
        )
    ),
    'fields' => array('DISTINCT mobileNo')
));

您也可以参考

我粘贴了您的查询,但它给了我语法错误。。我想你遗漏了一些东西,比如逗号或括号,我实际上正在处理一个日食。。。所以它在“或”下面给我画了一条红线,这意味着有些事情不对。。如果你想让我在浏览器中检查这个,那么我也可以。但我肯定这会给我一个错误。这个问题中的查询看起来毫无意义-为什么你想检查以“Contact.xxxNo”(这是你要求的)结尾的电话号码?@AD7six是的,我知道。。。实际上,这只是为了这里。。我的目的是使用oR之类的运算符,这是一个坏习惯:P-真正的问题得到真正的答案。