如何在Laravel中编写这个复杂的查询?

时间:2015-05-22 09:31:31

标签: laravel laravel-4 eloquent laravel-5 query-builder

大家好,请问我怎么写这个查询:

$laureats=Laureat::select('laureats.*')
    ->from(DB::raw(" SELECT laureats.nom FROM laureats,traces WHERE laureats.id=traces.laureat_id AND traces.etat_id=$etat
            and traces.etat_id=(select etat_id from traces where traces.laureat_id=laureats.id ORDER BY traces.dateTrace desc limit 1)"))
    ->get();

1 个答案:

答案 0 :(得分:0)

您刚问过的所有内容都在docs

我看到你正在运行带有AND的WHERE子句的SELECT查询,以及where子句中的另一个查询。

我要向你解释一下:

选择只有laureats.nom的查询,结果如下:

$nom = DB::table('laureats')->where('votes', '>', 100)->where('votes', '>', 100)->pluck('nom');

使用多个地点:

->where(function($query)
        {
            $query->select(DB::raw(1))
                  ->from('traces')
                  ->whereRaw('something = something');
        })

您可以在另一个查询中运行查询,如下所示:

#import <XLForm/XLForm.h>

这有点像。由于这一切都在文档中,所以你应该自己动手。