CakePHP勉強会を開催しました! & 発表資料です : akiyan.com
私自身はCake使いではなく、今のところZend Frameworkerなのですが、そんな私が見てもとても勉強になる内容でした。
Zend_Db_Tableでfetchメソッドに検索条件を渡すとき、
[php]
$where = array(
‘status = ?’ => ‘active’,
‘confirmed_email = ?’ => ‘yes’,
);
$us = $users->fetchAll($where);
[/php]
なんて指定しますが、コントローラでこんなことしなくないな、と思った時どうするか?
普通によくやるのは、モデルのメソッドに組み込んじゃう、
[php]
class Users extends Zend_Db_Table_Abstract
{
public function getActiveUser()
{
retrurn $this->fetchAll(array(
‘status = ?’ => ‘active’,
‘confirmed_email = ?’ => ‘yes’,
));
}
}
//…
$us = $users->getActiveUser();
[/php]
こういう形で作ってしまいがちですが、じゃあ検索条件が増えた場合どうするんだっけ?とかorderやlimitを指定したい時はどうするんだっけ?というようなことを解説されています。
$whereにor条件などはZend Frameworkにそのまま持ってくることはできませんが、色々と参考になりますので是非拝読されることをオススメします!
こういう勉強会の資料を公表していただけるのは本当にありがたいですね。。