Laravel 雄辩地从关系中获取关系数据

Laravel 雄辩地从关系中获取关系数据,laravel,model,eloquent,laravel-eloquent,Laravel,Model,Eloquent,Laravel Eloquent,可能这是一个简单的解决办法,或者我正在以错误的方式进行,但希望这里有人能帮助我 我有以下型号 事件 参展商 Extra展商 展会模型中有许多参展商,这些参展商通过exhibitorExtra模型进行关联 我想做的是获取展会的参展商和Extra数据 这将返回事件数据 $event = Event::where('Name', $name)->firstOrFail(); 以下内容通过hasMany关系检索参展商的所有额外数据 $exhibitorsExtra = $event->

可能这是一个简单的解决办法,或者我正在以错误的方式进行,但希望这里有人能帮助我

我有以下型号

  • 事件
  • 参展商
  • Extra展商
展会模型中有许多参展商,这些参展商通过exhibitorExtra模型进行关联

我想做的是获取展会的参展商和Extra数据

这将返回事件数据

$event = Event::where('Name', $name)->firstOrFail();
以下内容通过hasMany关系检索参展商的所有额外数据

$exhibitorsExtra = $event->getExtraData->all();
这将通过正在运行的hasManyThrough函数返回所有参展商数据

$exhibitors = $event->exhibitors->all();
在我看来,我需要参展商提供的所有活动数据。这包括了额外的数据。通过上面的方法,我将所有的值分开。在我看来,我将遍历所有参展商,在这些参展商中,我需要回显参展商和参展商的额外数据。这样做的最佳方式是什么

我试着用英语把所有的东西都重新打一遍,使它更清楚。所以,如果我有任何拼写错误,只要让我知道,我会改变它为其他人进一步使用

更新

我已将控制器中的行更改为以下内容:

$event = Event::with('exhibitors')->with('exhibitorsExtra')->where('Name', $slug)->firstOrFail();
通过这种方式,我有一个具有2个关系的事件,其中包含数据。现在在我看来,我想做一些类似的事情:

@foreach ($event->exhibitors as $index => $exhibitor)
    // Here I have the exhibitor data but how do I acces the exhibitorExtra data?
@endforeach

您添加了一个具有多个关系的参展商→ <代码>ExhibitorExtra(称为
extra

更改控制器:

$event = Event::with('exhibitors.extra')->where('Name', $slug)->firstOrFail();
然后,您可以在视图中访问它:

@foreach ($event->exhibitors as $index => $exhibitor)
    @foreach($exhibitor->extra as $extra)
        //
    @endforeach
@endforeach

可以添加到目前为止编写的视图代码吗?