如何在 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 中执行此 SQL

如何在 laravel 8 的查询生成器中使用嵌套函数 substr()、cast() 和 Max()?

如何在 Laravel Eloquent 查询(或使用查询生成器)中为表起别名?

如何将此 sql 查询转换为 laravel 查询生成器

如何在 laravel 查询生成器中为同一列构建多个条件的查询?