引き続きZendFrameworkでアプリ開発を行っております。
Zend_Db_SelectというSQL文を自動生成してくれるクラスが用意されているのですが、
まぁSQLくらい直接書けよ。というツッコミは置いておいて、どうせなら用意されているクラスを利用したい+オブジェクティブに作りたいという事で使ってみました。
<?php $select = $myTable->select();という感じで、Zend_Db_Selectオブジェトの生成はとても楽です。
ちなみに$myTableというのはZend_Db_Tableクラスを継承したクラスです。
Where句を作成するには
<?php $select->where("id = ?", $id);のようにすると
WHERE id = $idというWhere句が作られます。
OrderBy句は
<?php $select->order("id DESC");で
ORDER BY id DESCができます。
超便利ですね。
あとはもう
<?php $select->query();でZend_Db_Statementオブジェクトを取得しても良し
<?php $myTable->fetchAll($select);でZend_Db_Rowsetオブジェクトを取得しても良し
<?php $dbAdapter->query($select->__toString());でZend_Db_Statementオブジェクトを取得しても良し
<?php $dbAdapter->fetchAll($select);などなど
使い道は無数にありますので、お好きなようにどうぞ。
で、このZend_Db_Selectを使って
「Where句だけ取りたい」
「OrderBy句だけ取りたい」
などあると思います。
その時は
<?php $select->getPart(Zend_Db_Select::WHERE);でWhere句取得。
<?php $select->getPart(Zend_Db_Select::ORDER);でOrderBy句取得。
などできちゃいます。
詳しくは、ZendFramework::Select オブジェクトの一部の取得で。
以上どぇーす。
0 件のコメント:
コメントを投稿