我有这种表关系:
我已经在模型中正确地建立了所有关系,但我不知道如何从worktypes表中获取名称
当我做的时候
dd($shift->shift_workers);
我明白了:
但我还想以某种方式从每个工人的工作类型表中获取名称......
这应该以某种方式用Pivot()函数做什么? 所以我可以这样:
$foreach ($shift->shift_workers as $w => $worker)
echo $worker->name;
但我不知道怎么做......任何人都可以帮忙吗?
答案 0 :(得分:0)
显然和逻辑上应该跳过数据透视表,以便通过以下方式实现结果:
$worker->worktypes->first()->name; // to get the name of the first work type
$worker->worktypes->pluck('name'); // to get all names as an array
要获得此结果,请按照Laravel's naming convention并正确设置模型关系。
worker_worktype_pivot
表重命名为worker_worktype
Worker
模型中设置关系:`
class Worker extends Model {
...
public function workTypes()
{
return $this->belongsToMany(WorkType::class);
}
}