【发布时间】:2021-02-22 04:51:59
【问题描述】:
我在 EVENT 和 MAJOR 模型之间有一个 OneToMany 关系,如下所示:
EVENT 属于 Major 和 Major HasMany 事件
这是我在 MySQl 中的表格
EVENTS Table :
id name major_id
1 liga 1st 1
2 liga 2nd 2
Majors Table :
id symbol name
1 MTB xxxxxxxxxxxxxxxxxxxxxxxx
2 ROAD yyyyyyyyyyyyyyyyyyyyyyyy
3 TRACK zzzzzzzzzzzzzzzzzzzzzzzz
在控制器中,我将所有事件的数据传递给视图,如下所示:
$events= Event::all();
在我看来,我无法根据关系到达专业表:
@foreach($events as $event)
<option value="">{{$event->major->name }}</option>
@endforeach
但我尝试使用此代码并且它有效:
@foreach($data as $event)
<option value="">{{$event->major()->first()->name }}</option>
@endforeach
我的问题是,如果每个事件都有一个 Major_id,为什么我不应该使用上面提到的第一个查询。
【问题讨论】:
-
欢迎来到 SO .. 根据你们的关系,一切都是正确的。我认为您需要在
Event.php中添加 belongsTo -
我们能看到模型上的关系吗?
-
我已经做了如下: public function major() { return $this->belongsTo(Major::class); }
标签: laravel relationship laravel-blade belongs-to