如何用laravel进行内部连接

时间:2014-12-18 09:12:14

标签: php mysql laravel

如何使用laravel Eloquent数据对象模型实现以下查询?

select links.title, school_status.school_code 
     from links inner join school_status
     on links.id=school_status.link_id 
where 
    links.id!=35 and school_status.academic_year = '2014-15'

在这个查询中,year是一个我可以在控制器内更改的变量。如何实现这个?

3 个答案:

答案 0 :(得分:0)

实际上,转换RAW SQL查询并不难,但你可以试试这个:

DB::table('links')
          ->select('links.title', 'school_status.school_code')
          ->join('school_status','links.id','=','school_status.link_id')
          ->where('links.id','!=',35)
          ->where('school_status.academic_year','=','2014-15')
          ->get();

答案 1 :(得分:0)

看看laravel belongsTo,hasMany为Eloquent对象模型。

答案 2 :(得分:0)

如果您想使用查询构建器执行此操作,则以下代码可供您使用

DB::table('links')->join('school_status','links.id','=','school_status.link_id')->select('links.title', 'school_status.school_code')->where('links.id','!=',35)->where('school_status.academic_year','=','2014-15')->get();

但是如果你想先用雄辩的方法来做这件事你必须指定关系b.w table

对于Read Laravel 4.1 doc