December 3, 2011

Orm\Modelが提供する検索機能。

以下のテーブルとOrm\Modelがあるとします。

create table twitter_users
(
    id int not null auto_increment,
    created_at int not null,
    updated_at int not null,
    twitter_user_id varchar(255) not null unique,
    twitter_screen_name varchar(255) not null,
    twitter_oauth_token varchar(255) not null,
    twitter_oauth_token_secret varchar(255) not null,
    primary key (id)
);

namespace Model;
 
class Twitter_User extends \Orm\Model
{

    protected static $_observers = array(
        'Orm\Observer_CreatedAt' => array('events'=>array('before_insert')),
        'Orm\Observer_UpdatedAt' => array('events'=>array('before_save')),
    );  

}

これだけで
$twitter_user = Twitter_User::find_by_twitter_screen_name([screen_name]);
のような感じで、検索出来るようです。

Model_Crudだとどうなのだろう。個人的にはあまり使わなそうだけど。。。


2011/12/03 追記
Twitter_User::delete_by_twitter_screen_name([screen_name]);
は出来なかった。
この辺が実装されると、より強烈になる気がする。

No comments:

Post a Comment