有人可以告诉我,为什么我不能使用左联接从部分表中选择部分。我想要一个表中的教师列表,我能够访问教师表中的所有数据,但是我无法使用左联接看到部分。 教师表具有section_id列,该列应访问section列中的sections表中的数据。
现在,当我尝试使用{{$ teacher-> section}}来获取视图中的数据时,它给出了错误。
public function listteachers(Request $request)
{
$teachers = DB::table('teachers')
->select('teachers.*')
->leftjoin('sections', 'teachers.section_id', '=', 'sections.id')
->orderBy('pass_exp', 'ASC')
->get();
return view('teachers.list',compact('teachers'));
}
答案 0 :(得分:2)
您需要从查询的sections表中选择所需的列。
例如:
$teachers = DB::table('teachers')
->select('teachers.*', DB::raw('sections.name as section_name'))
->leftJoin('sections', 'teachers.section_id', '=', 'sections.id')
->orderBy('pass_exp', 'ASC')
->get();
答案 1 :(得分:1)
将代码更改为以下
$teachers = DB::table('teachers')
->select('teachers.*','sections.name as section_name')
->leftJoin('sections', 'teachers.section_id', '=', 'sections.id')
->orderBy('pass_exp', 'ASC')
->get();