laravel - 如何在 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 提供了多种关系,其中之一是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
推荐阅读
- c++ - C++ - 即使在突然断电的情况下,如何将应用程序日志写入磁盘
- python - 如何在sqlalchemy中的值更改后触发事件
- postgresql - 无法连接到 postgres docker 容器(本地主机)
- javascript - 如何将消息转换为 utf-8
- python - ImportError:无法从部分初始化的模块“电报”导入名称“机器人”
- flutter - 如何使用 Flutter 单击按钮转到新页面
- javascript - React 渲染时间太长——我应该选择哪种架构?
- c++ - 在 NMRU 的实现中我做错了什么?
- wpf - WPF - Open Message Box while another Message Box is open
- c# - 如果多列结果,如何使用 SqlCommand.ExecuteReader 重构包含循环?