0
   $where = array('status' => 1);
$this->view->active = $user->fetchAll($where);
$where1 = array('status' => 0);
$this->view->inactive = $user->fetchAll($where1);

view.phtmlで

私はこれらの2つのforeachを持っています

foreach($this->active as $active){
    echo $active->uid;
    echo $active->uname;
}

foreach($this->inactive as $inactive_va){
    echo $inactive_va->uid;
    echo $inactive_va->uname;
}

上記のコードは、非アクティブと非アクティブの両方のアクティブなレコードのみを返します。これらを何を変更する必要がありますか。

4

1 に答える 1

1

おそらく、?プレースホルダー構文を使用してWHERE句を正しくする必要があります。

$where = array('status = ?' => 1);
$where1 = array('status = ?' => 0);

ただし、WHERE句を直接に指定することfetchAll()は非推奨であることに注意してください。Zend_Db_Tableのドキュメントにある警告を参照してください。オブジェクトを使用してクエリを変更することをお勧めします。Zend_Db_Table_Select

最初のクエリは次のようになります。

$user->fetchAll(
    $user->select()->where('status = ?', 1);
);
于 2013-03-26T08:51:11.617 に答える