2010-06-11 25 views
7

我是新來的CakePHP &不知道什麼是CakePHP中使用LIKE & OR運營商與MySQL的語法使用喜歡或運營商。如何使用CakePHP和MySQL

任何人都可以幫助我嗎? 謝謝..

+0

凡在CakePHP的?我不明白。你能澄清你想要做什麼嗎? – 2010-06-11 12:16:28

回答

17

Complex find conditions從手動:

$this->Post->find('first', array (
    "Author.name" => "Bob", 
    "OR" => array (
     "Post.title LIKE" => "%magic%", 
     "Post.created >" => date('Y-m-d', strtotime("-2 weeks")) 
    ) 
)); 
+0

只是一個側面說明。我僅在百分號上使用時遇到了問題,如上面的代碼段: '「Post.title LIKE」=>「%magic%」,' 在我的代碼中,字符串$ File_Root是已知的,它是文件擴展名wasn 「T。但是我不得不使用bookend百分號來爲cakephp 2.7使用LIKE關鍵字。這是我的代碼段更大的查找語句。 'array('conditions'=> array('file_name LIKE'=>「%$ File_Root%」))' – mmv1219 2015-11-18 19:26:40

6

你可以使用: 爲 「喜歡」

$this->Post->find("all",array('condition'=>array('Author LIKE'=>"ad%"))); 

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

爲「OR」

$this->Post->find("all",array('condition'=>array("OR"=>array('Author LIKE'=>"ad%",'Post LIKE'=>"bo%")))); 

上面的查詢會給你從表職位數據,其中作者的名字與「廣告」開頭或張貼與「博」開始。

+2

不確定哪個版本的CakePHP suraj正在使用,但按照書面,他的第二個查詢在1.2 ,因爲第二個'Author LIKE'條件(「bo%」)會覆蓋第一個'Author LIKE'條件(「ad%」)。在第二種情況下在單詞「LIKE」之後添加一個空格可以避免覆蓋第一個空格。 – 2013-06-24 20:58:04

0

,如果你使用其中的功能,然後用這個: -

->where(['Products.category_id'=>1, 'Products.name LIKE' =>'test%']) 

感謝