消息关闭
    暂无新消息!

Laravel里面怎么实现多表查询

问题作者 : 利剑bjf2017-05-16发布

我有一个显示购物车的view,表格形式,每个购物车的条目需要展示当前购买的鲜花的详细信息及购买的数量,而在数据库中,存在flower和cart两个表,前者包含花的基本信息,如花名等,后者包含购物车条目的信息,包含用户ID、花ID、购买数量等。要获取某用户的购物车数据,我需要实现两个表的连接,并将连接得到的结果返回给view

我的项目中包含两个Model,分别是Cart(购物车条目)和Flower(花),另外还有一个Controller,即CartController,它包含一个获取某用户购物车数据并将其传给view的方法。

以下是我的几个思路,但由于我是Laravel的新手,所以不太清楚这些思路实现的可行性和具体操作,所以希望大家能够指点一下,具体的思路如下:

  1. 我的数据库中包含一个某用户购物车数据的视图,所以我在考虑直接从视图中读取数据,我查不到查询构造器和Eloquent这两种方法对视图的操作,所以我考虑使用原生的sql

  2. 查询构造器多表查询

  3. Eloquent关联,我之前一直使用的都是Eloquent,所以我想继续使用,于是我查到了关联这个知识点,不过根据文档,我对他是否能进行多表查询表示疑问

接触Laravel时间很短,可能在上面的提问中会有很多让人笑话的点,如果对于我的提问有所建议的,也欢迎提出,谢谢!


1个回答

︿ 0

我写给你个demo吧,你自己按照你自己的改成你想要的就好了

DB::table('users')
    ->join('contacts', 'users.id', '=', 'contacts.user_id')
    ->join('orders', 'users.id', '=', 'orders.user_id')
    ->select('users.id', 'contacts.phone', 'orders.price')
    ->get();

以上是join操作,user表连接了contacts和orders表,后面跟的是on的条件,select的内容是要查的字段。