gpt4 book ai didi

php - 如何从 Laravel 中的多个相关表获取数据

转载 作者:行者123 更新时间:2023-11-29 16:59:41 25 4
gpt4 key购买 nike

我有三个表:事件 - 管理员 - 依赖项它们之间的关系如下:依赖项有多个管理员,一个管理员有多个事件

像这样: enter image description here

我试图显示创建事件的管理员所属的依赖项的名称。我如何使用 Laravel 从这三个表中获取数据?

Controller :

class WelcomeController extends Controller
{
public function evento($slug){
$event = Event::where('slug', $slug)->first();
return view('evento', compact('event'));
}

事件模型:

class Event extends Model
{

protected $fillable = [
'admin_id', 'place_id', 'name', 'slug', 'excerpt', 'body', 'status', 'file'
];

public function admins(){
return $this->belongsTo('App\Admin', 'admin_id');
}

管理模型:

protected $fillable = [
'name', 'email', 'password', 'cargo', 'dependence_id'
];

public function dependencyAdmin(){
return $this->belongsTo(Dependence::class);
}

依赖模型:

class Dependence extends Model
{

protected $fillable = [
'name', 'slug'
];

public function adminsDependence(){
return $this->hasMany(Admin::class);
}

所以我尝试在 View 中显示它,但它不起作用:

 <div class="panel-heading"> 
Dependencia:
<a href="#">{{$event->admins->dependencyAdmin->name}}</a>
</div>

最佳答案

问题是您只检索事件模型而不加载关系。请参阅here更多解释

$event = Event::where('slug', $slug)->first();
$eventAdmins = $event->admins()->get();
$eventAdminDependency = $eventAdmins->dependencyAdmin()->get();

关于php - 如何从 Laravel 中的多个相关表获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52356641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com