-1

假设我有这段 SQL:

select * 
from `fluents`
inner join `tests` on `fluents`.`id` = `tests`.`fluent_test_id`
inner join (
    select `fluents`.`id` from `fluents` order by `fluents`.`id` desc limit 10
) as j on `fluents`.`id` = `j`.`id`
order by `fluents`.`created_at`;

我知道我可以运行原始 SQL,但作为一项学习练习,我试图将其转换为流利的并且失败得很惨,这甚至可能吗?

4

1 回答 1

6

我在我的项目中这样做了:

DB::table('fluents')->join('tests','tests.fluent_test_id','=','fluents.id')
                    ->join(DB::raw("(select fluents.id from fluents order by `fluents`.`id` desc limit 10) as j"),'j.id','=','fluents.id')
                    ->orderBy('fluents.created_at');

我希望这能有所帮助。

于 2013-07-11T13:09:38.590 回答