13

Laravel で動作するように、いくつかの PHP/MySQL を書き直しています。私がやりたいことの 1 つは、Fluent Query Builder を使用して DB クエリをより簡潔にすることですが、少し迷っています。

SELECT p.post_text, p.bbcode_uid, u.username, t.forum_id, t.topic_title, t.topic_time, t.topic_id, t.topic_poster
FROM phpbb_topics t, phpbb_posts p, phpbb_users u
WHERE t.forum_id = 9
AND p.post_id = t.topic_first_post_id
AND u.user_id = t.topic_poster
ORDER BY t.topic_time
DESC LIMIT 10

これは、phpbb フォーラムにクエリを実行し、投稿を取得します。 ここに画像の説明を入力

Fluent Query Builder 構文を利用するには、これをどのように書き直すことができますか?

4

2 に答える 2

29

テストされていませんが、ここから始めます

return DB::table('phpbb_topics')
    ->join('phpbb_posts', 'phpbb_topics.topic_first_post_id', '=', 'phpbb_posts.post_id')
    ->join('phpbb_users', 'phpbb_topics.topic_poster', '=', 'phpbb_users.user_id')
    ->order_by('topic_time', 'desc')
    ->take(10)
    ->get(array(
        'post_text',
        'bbcode_uid',
        'username',
        'forum_id',
        'topic_title',
        'topic_time',
        'topic_id',
        'topic_poster'
    ));
于 2013-01-22T18:04:22.043 に答える