Sql Cakephp中的like或操作符
我是cakephp新手,我想在现有查询中添加or、and和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(
$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-真正的问题得到真正的答案。