Laravel 属于混淆
Laravel BelongsTo confusion
我在 EVENT 和 MAJOR 模型之间有一个 OneToMany 关系,如下所示:
EVENT 属于 Major 和 Major HasMany 事件
这是我在 MySQl
中的 table
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();
在我看来,我无法根据关系进入专业 table :
@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;
我获取了一个事件,但我无法访问它的主要对象!!!
它 returns 空
困惑!
24小时后我终于找到了被嘲笑的问题!
我在我的模型中分配了一个 getMajorAttribute() 并且它正在处理输出数据!谢谢
我在 EVENT 和 MAJOR 模型之间有一个 OneToMany 关系,如下所示:
EVENT 属于 Major 和 Major HasMany 事件
这是我在 MySQl
中的 tableEVENTS 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();
在我看来,我无法根据关系进入专业 table :
@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;
我获取了一个事件,但我无法访问它的主要对象!!! 它 returns 空 困惑!
24小时后我终于找到了被嘲笑的问题!
我在我的模型中分配了一个 getMajorAttribute() 并且它正在处理输出数据!谢谢