首页 > 解决方案 > Laravel 属于混乱

问题描述

我在 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,为什么我不应该使用我上面提到的第一个查询。

标签: laravelrelationshiplaravel-bladebelongs-to

解决方案


我在控制器中再次尝试

$data = Event::find(1);
return $data->major;

我获取了一个事件,但我无法访问它的主要对象!!!!它返回 Null 困惑!


推荐阅读