两张数据表:表一:grade_grade_pivot,有
id(key),father_grade_id,child_grade_id
三个键,
表二:grade :有:title ,image_id, meta
想要查询父分级对应的子分级(在表一里),找到这些子分级后反馈出这些子分级的信息,
model,Grade中的关联如下:
public function father_grade()
{
return $this->belongsToMany('App\Grade', 'grade_grade_pivot','child_grade_id','father_grade_id');
}
控制器里:
public function index(Request $request)
{
$grade = $request->get('grade');
$data = $this->dispatch(new Article_systemIndexData($grade));
$layout = 'article_system.layouts.index';
return view($layout, $data);
}
用到的jobs:Atricle_systemIndexData里的代码:
protected function gradeIndexData($grade)
{
$grade = Grade::where('grade', $grade)->firstOrFail();
$reverse_direction = (bool)$grade->reverse_direction;
$gradesss = Grade::whereHas('father_grade',function ($q) use($grade) {
//就是这里的代码该怎么写才好啊QAQ
});
$page_image = $grade->page_image ?: config('blog.page_image');
return [
'title' => $grade->title,
'subtitle' => $grade->subtitle,
'page_image' => $page_image,
'grade' => $grade,
'reverse_direction' => $reverse_direction,
'meta_description' => $grade->meta_description ?: config('blog.description'),
'gradesss' => $gradesss
];
}