【发布时间】:2020-04-04 22:32:17
【问题描述】:
我有模型:能力、目标、评级和教师
具有以下关系:
Competency hasMany Objective
Objective hasMany 评级,目标 属于 能力
评级 belongsTo 目标,评分 belongsTo 教师
教师 hasMany 评分
表格:
能力:id、职称等
目标:id、职称、能力ID等[能力ID作为能力的外键]
评级:id、score、objective_id、teacher_id 等 [objective_id 和 teacher_id 作为 FK]
teachers:id、first_name、last_name 等
问题
我想返回所有教师,以及他们按能力和目标分组的评分,例如:
teacher1
-- competency1
---- objective1 score
---- objective2 score
-- competency2
---- objective1 score
---- objective2 score
teacher2
-- competency1
---- objective1 score
---- objective2 score
-- competency2
---- objective1 score
---- objective2 score
我可以获得按目标分组的所有能力,并将其评为:
能力::with('objectives.ratings')->get();
我如何将教师作为第一级:教师 - 能力 - 目标 - 评分?
【问题讨论】:
-
非常感谢凯文 - 这行得通。只有一件事:在打印分数时,内爆函数也会打印目标的 id。有没有办法只输出分数?
标签: laravel eloquent relationship eager-loading