तरह% का उपयोग कर क्वेरी को खोजने मैं अपने CakePHP अनुप्रयोग के लिए निम्नलिखित खोज क्वेरी है:CakePHP%
$this->paginate = array(
'limit'=>5,
'order'=>'Note.datetime DESC',
'conditions' => array(
'Note.status'=>1,
'OR' => array(
'Note.title LIKE' => '%'. $q . '%',
'Note.content LIKE' => '%'. $q . '%'
)
)
);
कौन सा एक पैरामीटर $q
बुलाया दोनों शीर्षक और सामग्री पर क्वेरी की तरह करने के लिए ले जाता है। खोज 'lorem'
यह यह ठीक मिलेगा लिए
Title: Lorem ipsum
Content: Lorem ipsum dolare
और:
इसलिए उदाहरण के लिए अगर मैं निम्नलिखित है। लेकिन अगर मैं 'lorem dolare'
की खोज करता हूं तो इसे नहीं मिलेगा।
मैं यह कैसे कर सकता हूं?
नोट: अगर मैं प्रतिलिपि प्राप्त होगा इस काम का उपयोग करें: मैं किसी भी प्लग आदि
संपादित करें का उपयोग नहीं करना चाहते हैं?
$this->paginate = array(
'limit'=>5,
'order'=>'Note.datetime DESC',
'conditions' => array(
'Note.status'=>1,
'OR' => array(
'MATCH(Note.title) AGAINST('.$q.' IN BOOLEAN MODE)',
'MATCH(Note.content) AGAINST('.$q.' IN BOOLEAN MODE)'
)
)
);
संपादित करें 2:
ऊपर की कोशिश कर इस त्रुटि हो रही है:
Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'dolor IN BOOLEAN MODE)) OR (MATCH(`Note`.`content`) AGAINST(lorem dolor IN BOOLE' at line 1
SQL Query: SELECT `Note`.`id`, `Note`.`title`, `Note`.`excerpt`, `Note`.`content`, `Note`.`datetime`, `Note`.`user_id`, `Note`.`slug`, `Note`.`status`, `Note`.`topic_id`, `User`.`id`, `User`.`email`, `User`.`firstname`, `User`.`lastname`, `User`.`password`, `User`.`status`, `Topic`.`id`, `Topic`.`title`, `Topic`.`slug` FROM `db52704_driz2013`.`notes` AS `Note` LEFT JOIN `db52704_driz2013`.`users` AS `User` ON (`Note`.`user_id` = `User`.`id`) LEFT JOIN `db52704_driz2013`.`topics` AS `Topic` ON (`Note`.`topic_id` = `Topic`.`id`) WHERE `Note`.`status` = 1 AND ((MATCH(`Note`.`title`) AGAINST(lorem dolor IN BOOLEAN MODE)) OR (MATCH(`Note`.`content`) AGAINST(lorem dolor IN BOOLEAN MODE))) ORDER BY `Note`.`datetime` DESC LIMIT 5
यह नहीं मिल रहा फिर भी दूर करने के लिए पहले '%' –
@ फ्रेड-द्वितीय की कोशिश करो। – Cameron
मैं सोच रहा था कि वेन ने 'FULLTEXT' खोज के नीचे क्या पोस्ट किया था। SO पर इस क्यू एंड ए पर एक नज़र डालें http://stackoverflow.com/q/17294924/1415724 मदद कर सकता है। –