Eloquent查询:从具有相同列名的两个相关模型中检索数据

时间:2014-06-26 09:28:18

标签: laravel eloquent

以下是SectionDetail模型的ID列表,同时我需要Section模型的ID列表:

SectionDetail::with('section')->where('class_id', '=', Input::get('grade_id'))->lists('id');

问题是模型SectionDetailSection都有“ID”列。

如何在查询中指向SectionDetailSection模型的ID

1 个答案:

答案 0 :(得分:0)

你不能这样做,因为有2个单独的查询提取SectionDetailSection。 为了获得Section ID,您需要查询由关系约束过滤的模型:

$gradeId = Input::get('grade_id');

// assuming sectionDetails is relation name on the Section model 
$sectionsIds = Section::whereHas('sectionDetails', function ($q) use ($gradeId) {
    $q->where('class_id', '=', $gradeId); // use prefixed column name in case it's ambiguous
})->lists('id');