问题描述
我在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,为什么我不应该利用上面提到的第一个查询呢?
解决方法
我在控制器中再次尝试
$data = Event::find(1);
return $data->major;
我获取了一个事件,但无法访问其主要对象!!! 返回Null 糊涂了!
,24小时后,我终于发现了嘲笑的问题!
我在模型中分配了一个 getMajorAttribute (),它正在处理输出数据!谢谢