1

それが私の選択機能です:

 public function search($for) {
    $q = $this->select()->from($this->_name, array('id', 'title', 'content'))
            ->where('title LIKE ?', "%$for%")
            ->orWhere('content LIKE ?', "%$for%")
            ->orWhere('keywords LIKE ?', "%$for%")
            ->where('is_visible = ?', 0)
            ->where('category = ?', 7);

    return $this->fetchAll($q);
}

しかし、is_visible = 1またはcategoryが7つのselectおよび他の行と異なる場合はなぜですか?

4

1 に答える 1

2

AND/ORの優先順位が正しく解釈されていないのではないかと疑っています。これを試して:

$q = $this->select()->from($this->_name, array('id', 'title', 'content'))
        ->where("title LIKE '%$for%' OR content LIKE '%$for%' OR keywords LIKE '%$for%'")
        ->where('is_visible = ?', 0)
        ->where('category = ?', 7);
于 2012-09-10T16:50:13.903 に答える