首页 > 解决方案 > 如何在 Laravel 请求中返回相关表中的 ID 字段

问题描述

我有两个相关的表,我想返回所有字段,包括 ID(键)字段。我下面的查询返回除 ID 之外的所有字段。如何从其中一张表中返回 ID 字段?

'programmes' => ProgrammeInstances::with('programmes')->get(),

下面的查询返回未知列“programmes.programme_title”,因为它正在表“programme_instances”中查找它

'programmes' => ProgrammeInstances::with('programmes')->select('programmes.programme_title', 'programmeInstances.id', 'programmeInstances.name', 'programmeInstances.year')->get(),

标签: laravel

解决方案


Laravel 提供了多种关系,其中之一是hasMany()应该返回一个集合的关系,其中User数据库中有一个 hasMany 行

例如,在您的 User 模型中:

public function programmes() {
  return $this->hasMany(Program::class);
}

现在在您的控制器中,您可以执行以下操作:

public function edit($id) {
  $programmes = User::find($id)->with('programmes')->get();

  return view('user.edit')->with('programmes', $programmes);
}

然后你可以在你的视图中循环它

@forelse($programmes->programmes as $program)
   // provide the data
@empty 
  // the user doesn’t have any programmes
@endforelse

推荐阅读