少なくともそれは起こっているようです。私はウェブサイト用の検索バーを作成しようとしていますが、承認されたコンテンツのみを取り戻すwhere節を読んでいないことを除いて、機能します。なぜそれが問題になるのか分かります。codeigniterのような節はwhere節をオーバーライドします
とにかく、これは私が私のモデルに持っているもの
$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();
であると私は、クエリを印刷するとき、それはWHERE句を見ているように、それはそう、私は戻ってのものを得るとき、それはある事を引っ張っています承認されていないか、レビュー中です。ここで
は私の印刷問い合わせは
SELECT * FROM (`story_tbl`) WHERE `approved` = 'y' AND `description` LIKE
'%another%' OR `title` LIKE '%another%' OR `body` LIKE '%another%' OR
`author` LIKE '%another%'
なぜこれらの角括弧が必要ですか?これはcodeigniterがページにそれを表示する方法です。私が投稿した上記のquerryは、最初のwhere句を無視しています。私はなぜアクティブなレコードに対して$ this-> db-> querryを使う方が良いのだろうと混乱していますか? – zazvorniki
ブラケットがないため、where句は無視されます。 AND、ORの仕組みを理解する必要があります。 – sakibmoon
私はそれらの仕組みを理解していますが、上記のコードを貼り付けると500エラーになります。 'シンボルは違いを生むべきではありません – zazvorniki