在zend框架中使用where where获取数组

时间:2013-02-04 11:14:01

标签: zend-framework

如何获取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();


        }   
    }

2 个答案:

答案 0 :(得分:6)

我想你想要:

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

如果你真的想做一个LIKE搜索,那就是:

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

但仅在需要时才使用它,因为LIKE搜索比直接索引查找慢得多。

如果$catid是一个ID数组,那么这应该有效:

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

答案 1 :(得分:0)

在id

的zend基础中获取数组

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

基于Zend中的LIKE搜索

$ select-> where(“catid LIKE?”,'%'。$ catid。'%');