Przynajmniej tak się dzieje. Próbuję utworzyć pasek wyszukiwania dla strony internetowej i działa, z wyjątkiem tego, że nie czyta klauzuli where, która tylko wycofałaby zatwierdzoną treść. Możesz zobaczyć, dlaczego to był problem.codeigniter jak nadpisanie klauzuli gdzie klauzula
W każdym razie, to co mam w moim modelu
$match = $this->input->post('search');
$this->db->where('approved', 'y');
$this->db->like('description', $match);
$this->db->or_like('title', $match);
$this->db->or_like('body', $match);
$this->db->or_like('author', $match);
$query = $this->db->get('story_tbl');
return $query->result();
i kiedy wydrukować zapytanie, wydaje się, że to widząc gdzie klauzuli, ale kiedy dostać rzeczy z powrotem to ciągnięcie rzeczy, które są nie zatwierdzony lub w trakcie przeglądu.
Oto mój drukowane zapytania
SELECT * FROM (`story_tbl`) WHERE `approved` = 'y' AND `description` LIKE
'%another%' OR `title` LIKE '%another%' OR `body` LIKE '%another%' OR
`author` LIKE '%another%'
Dlaczego chciałbym te nawiasy? To jest sposób w jaki codeigniter drukuje go na stronie, a querry powyżej tego, który napisałem, wciąż ignoruje moją pierwszą klauzulę where. Jestem zdezorientowany, dlaczego lepiej byłoby użyć $ this-> db-> querry nad aktywnymi rekordami? – zazvorniki
Klauzula where jest ignorowana z powodu braku wspornika. Musisz zrozumieć, w jaki sposób AND, OR działa. – sakibmoon
Rozumiem, jak działają, ale kiedy wkleiłem powyższy kod, daje mi to błąd 500. 'symbole nie powinny czynić różnicy – zazvorniki