私はZendFrameworkを学んでいて、データベースの不便さを乗り越えています。
phpを使用すると、このような文字列操作を行うことができます
$sqlstatement = "select id,name from TABLE where ID='$id'";
if ($admin == true) {
$sqlstatement .= " and admin = 'Yes'";
}
Zendでこれを行う方法はありますか?現在、私はこのようなことをしています。
if ($admin == true){
$sqlstatement = $this->select()
->from($this->_name,array('id','name'))
->where("ID='$id'")
->where("admin = 'Yes'");
}else{
$sqlstatement = $this->select()
->from($this->_name,array('id','name'))
->where("ID='$id'");
}
理想的には私は次のようなことをしたいです...
$sqlstatement = $this->select()
->from($this->_name,array('id','name'))
->where("ID='$id'");
if ($admin == true){
$sqlstatement .= $this->select()
->where("admin = 'Yes'");
}
クエリを作成してビューに返すモデルがあります。したがって、$ this-> select()は実際に私のモデルクラス関数で発生し、Zend_Db_Table_Rowオブジェクトを返します。