「ORMがトラブル起こすから嫌い」なんじゃなくて、「ORMが起こすトラブルが解決できないから嫌い」ってのがほんとのところじゃない?だったら解決方法を知ればいいんじゃね?というお話。「N+1問題」もろくに知らずにORMを批判せんでほしい。Read less
postgresには連番の仮想表を作成できるgenerate_seriesという便利な関数があります。これは存在しない日付などを作るときに便利な関数です。MySQLではこのような関数はないのでユーザ変数を用いて擬似的に再現してみましょう。 SELECT 0 generate_series FROM DUAL WHERE (@num:=開始値-1)*0 UNION ALL SELECT @num:=@num+1 FROM 十分大きなテーブル LIMIT 終了値 generate_series(1,20)*1 SELECT 0 generate_series FROM DUAL WHERE (@num:=1-1)*0 UNION ALL SELECT @num:=@num+1 FROM `information_schema`.COLUMNS LIMIT 20 とはいえ、十分なレコード数を持つ
Zend_Db_Table で join を使って、テーブルを結合してデータを取ろうとしてハマった。 発行したい SQL はこんな感じ。 SELECT statuses.id, statuses.user_id, statuses.reply_user_id, statuses.comment, statuses.created_at, users.user_name, users.private_flag FROM statuses JOIN users ON users.id = statuses.user_id WHERE statuses.user_id = ? AND users.private_flag = ? users テーブルと、statues テーブルを id と user_id で join する至って普通なもの。 O/R マッパとして Zend_Db_Table_A
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く