2013-07-05 80 views
0

運營商我是新來的CakePHP和我要像添加我現有的查詢。類似或CakePHP的

我要讓這樣

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'))); 
+0

在討論中的查詢不看任何意義 - 要檢查在文本「Contact.xxxNo」結尾的電話號碼,爲什麼(這_is_你要求什麼)? – AD7six

+0

@ AD7six y我知道... acutually它只是在這裏..我的目的是隻使用oR和像運營商 – hellosheikh

+1

這是一個壞習慣:P - 真正的問題得到真正的答案。 – AD7six

回答

1

你可以在你現有的查詢中使用如下所示。

$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') 
)); 

而且你還可以參考Detail Document for simple search with like

+0

我粘貼你的查詢,因爲它是但給我的語法錯誤..我想你是缺少一些逗號或支架 – hellosheikh

+0

哪些錯誤即將告訴我 – liyakat

+0

我真的在日食工作...所以它是給我看一下「OR」下的紅線,這意味着有些事情是不正確的..如果你想讓我在瀏覽器中檢查這個,那麼我也可以做到這一點..但我當然也會給我一個錯誤 – hellosheikh

0

你可以使用:爲 「喜歡」

$這個 - >後> find(「all」,array('condition'=> array('作者 LIKE'=>「ad%」)));

上面的查詢會爲您提供表格作者姓名以「ad」開頭的帖子中的數據。

爲 「OR」

$這個 - >後>找到( 「全部」,陣列( '條件'=>陣列( 「OR」=>陣列( '作者 LIKE'=> 「ad%」,'Author LIKE'=>「bo%」))));

上面的查詢會給你從表職位數據,其中作者的名字與「廣告」,「博」

blog後可B到ü有用的開始!