2014-02-01 4 views
2

Для моего запроса к базе данных мне нужно использовать запрос where where в Codeigniter PHP. Я написал код:Как я могу использовать несколько where where В codeigniter?

$this->db->and_where_in('category_name,publication_status','home_headline_sub',1); 

Но этот запрос показывает ошибку запроса базы данных в браузере. Тогда я написал этот вопрос:

$this->db->where('category_name,publication_status','home_headline_sub',1); 

Но он все еще дает ошибку. Может ли кто-нибудь помочь мне решить эту проблему? Заранее спасибо.

+0

использование Codeingiter пользователь руководства весь есть –

+0

возможно дубликат [множественная где условие CodeIgniter] (http://stackoverflow.com/questions/10538376/multiple-where-condition-codeigniter) –

+0

Если вы нашли один из полезных ответов, пожалуйста, примите его и отметьте как правильно. – Craine

ответ

3

Вы можете пункты базы данных цепи, так что вы должны написать

$this->db->where('category_name','case')->where('publication_status','case')->where('home_headline_sub','case'); 

Это создаст ИНЕКЕ запрос, как

// WHERE category_name = 'case' AND publication_status = 'case' AND home_headline_sub = 'case' 

Документация здесь: http://ellislab.com/codeigniter/user-guide/database/active_record.html#chaining

0

вы использовать массив в этом.

$this->db->where(array('category_name'=>case,'publication_status'=>case,'home_headline_sub'=>case)); 

, но я думаю, вы хотите проверить свое значение на три столбца. вы можете использовать

$this->db->or_where(array('category_name'=>1,'publication_status'=>1,'home_headline_sub'=>1)); 

Я надеюсь, что это вам поможет.

0
//The simple way 
$this->db->where('foo_field', 'foo_value') 
     ->where('bar_field', 'bar_value') 
     ->where('more_field', 'more_value'); 

//using custom string 
//if your sql is really a complex one you can simply write like these 

$this->db->where("(foo_filed = 'foo_value') AND (bar_field = 'bar_value') AND (more_field = 'more_value')"); 

//or may be with something more complex like this 
$this->db->where("(foo_filed = 'foo_value') AND ((bar_field = 'bar_value') OR (more_field = 'more_value'))"); 

//while using a custom string make sure you put them all in the "double quotation marks" and use no ,commas. It is all a single line. The braces are not necessary always but I like to use them. 

Documentation

+0

как я могу использовать это предложение where с 'limit'. предположим, что я использую limit '2'. как я могу написать код в модели? – rOy

+0

точно так же $ this-> db-> где ('foo', 'bar'); $ this-> db-> limit (2); они просто должны быть в том же методе (функции) в вашей модели. –

+0

, если я использую имя 2 категории, оба вызываются в where where where, и если я хочу 2 содержимого каждой категории (используя ограничение 2) .. как я могу это сделать? я пишу код, но там отображается 2 контента для обеих категорий, но я хочу 4 контента. Каждая категория имеет 2 контента .. – rOy

Смежные вопросы