0

catid = "someid"の配列をフェッチする方法は?

私はこれを試しましたが、うまくいきませんでした

public function findCatArr($catid)
{
    $select = $this->getDbTable()->select();
    $select->setIntegrityCheck(false);
    $select->from('photo',array('id','catid','pic','desc'
    ))->where("catid"." LIKE '%".$catid."%'");
    $row = $this->getDbTable()->fetchAll($select);


    if (0 == count($row)) {
        return;
    }else{

        return $row->toArray();


        }   
    }
4

2 に答える 2

6

私はあなたが欲しいと思います:

->where('catid = ?', $catid);

本当に LIKE 検索を実行したい場合は、次のようになります。

->where('catid LIKE ?', '%'.$catid.'%');

ただし、必要な場合にのみ使用してください。LIKE 検索は、単純なインデックス検索よりもかなり遅いためです。

$catidが ID の配列である場合、これは機能するはずです。

->where('catid IN (?)', $catid);
于 2013-02-04T11:25:52.027 に答える
0

IDに基づいてzendベースで配列をフェッチする

$select->where("catid = ?", $catid);

Zend の LIKE 検索に基づく

$select->where("catid LIKE ?", '%'.$catid.'%');

于 2013-02-05T12:17:01.090 に答える