如何在 laravel 中使用查询生成器根据 id 从多个表中获取数据
Posted
技术标签:
【中文标题】如何在 laravel 中使用查询生成器根据 id 从多个表中获取数据【英文标题】:How to fetch data from multiple table according to id by using query builder in laravel 【发布时间】:2019-10-08 23:59:38 【问题描述】:在 Laravel 中如何使用查询生成器根据 id 从多个表中获取数据?
示例:
我有三个表,例如学生,父母和老师。现在我想根据id从这三个表(学生,父母和老师)中获取数据进行编辑。那么我该怎么做呢? 请看下面的代码
public function edit($id)
$values=DB::table("student")->find($id);
$values=DB::table("parent")->find($id);
$values=DB::table("teacher")->find($id);
return view("info", compact("values"));
【问题讨论】:
需要更多信息、数据库架构以及您想要获得的内容。 在laravel主页上可以找到很多资料:laravel.com/docs/5.8/queries所以请教一个更具体的问题 使用连接¯\_(ツ)_/¯ namelivia,如何在下面的代码中加入三个表 public function edit($id) $values=DB::table("student")->find($id);返回视图(“信息”,紧凑(“值”)) AgeValed,示例:我有三个表,例如学生、家长和教师。现在我想根据 id 从这三个表(学生、家长和教师)中获取数据,然后更新这些数据。那么我该怎么做呢?请看下面的代码。公共函数编辑($id) $values=DB::table("student")->find($id); $values=DB::table("父")->find($id); $values=DB::table("老师")->find($id);返回视图(“信息”,紧凑(“值”)); 【参考方案1】:您可能希望根据您拥有的 id 获取数据。当然其他表需要有那个表的外键>
这里是关于连接的 laravel 文档: https://laravel.com/docs/5.8/queries#joins
这是来自文档的示例代码:
$users = DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->join('orders', 'users.id', '=', 'orders.user_id')
->select('users.*', 'contacts.phone', 'orders.price')
->get();
【讨论】:
来源 Edin。示例:我有三个表,例如学生,父母和老师。现在我想根据id从这三个表(学生,父母和老师)中获取数据,然后更新这些数据。那么我该怎么做呢?请看下面的代码。公共函数编辑($id) $values=DB::table("student")->find($id); $values=DB::table("parent")->find($id); $values=DB::table("老师")->find($id);返回视图(“信息”,紧凑(“值”)); 嘿伙计:$allData = DB::table('student') ->join('parent', 'student.id', '=', 'parent.student_id') ->join ('teacher', 'student.id', '=', 'teacher.student_id') ->select('student.*', 'parent.*', 'teacher.*') ->get();以上是关于如何在 laravel 中使用查询生成器根据 id 从多个表中获取数据的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 laravel eloquent orm 中的两列进行查询
如何在 laravel 8 的查询生成器中使用嵌套函数 substr()、cast() 和 Max()?