開発しつつちょっと詰まったのでメモメモ。。
仕事で使ってるDBのテーブルがなかなかでかくて、
使いたいカラムは1つか2つなのにdoSelectで全部持ってくるのはナンセンスだ!
ってことでaddSelectColumnを使ってみました。
カラムを指定してオブジェクトを取り出す時は
doSelectRSを使うって決まりがあるらしいけど、
そうすると$user->getName()とかいう風に取り出せない。
なんでかなーと調べるうちに見つけたのがFetchMode。
細かい説明はいまいち把握してないのでできないですが、
以下にソースを記述しておきます。
$oCriteria = new Criteria;
$oCriteria->addSelectColumn(UserPeer::NAME);
$oCriteria->add(UserPeer::ID, $this->getRequestParameter('id'), Criteria::EQUAL);
$result = UserPeer::doSelectRS($oCriteria);
$result->setFetchMode(ResultSet::FETCHMODE_ASSOC);
while ($result->next()) {
$this->user_name = $oResult->getString('NAME');
}
これでテンプレートの方で$user_nameを呼び出すと中身が取り出せました^-^
0 件のコメント:
コメントを投稿