[ロ] Symfonyで 直SQL発行する&PreparedStatementを使う

このエントリーをはてなブックマークに追加
はてなブックマーク - [ロ] Symfonyで 直SQL発行する&PreparedStatementを使う
Share on Facebook
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed
[`tweetmeme` not found]

Symfony で直SQL発行するには割りと簡単で Propel::getConnection()でコネクションをとってきて、prepareStatement()で準備して、executeQuery()すればよい。(なぜかpreparedStatementじゃないのが気になります。)


$query の「?」に具体的な値を入れるにはsetInteger()/setString()です。第一引数の1/2ってのが、何番目の「?」に値を入れるか。ってことだと思われます。試したらそんな感じでしたので。やりたいことはできたー。ちょっとコードが長いのが難点。


$con = Propel::getConnection();
$query = "SELECT * FROM table_a WHERE table_a.column_str = ? AND table_a.column_int = ?";
$id = 1;
$str = 'mojiretu';
$stmt = $con->prepareStatement($query);
$stmt->setInteger(1,$id);
$stmt->setString(2,$str);
$rs = $stmt->executeQuery();
               
$rs->next();
$action = $rs->getRow();

どうにも、Symfonyの情報ってすごい少ない感じがするのだけれど、気のせいなのかなぁ。
この情報も拾ってきたのはGoogleキャッシュなのだよね。っといろいろ探したらDoxygenで生成されたSymfonyAPI Documentation
これがよさそう。俺的にはこれで満足かも!
本家のDocumentationはこれなのだけどいまいち足りてないよねぇ。

Popular Posts:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*