php - Laravel 查询格式 - 连接到最新行

标签 php mysql laravel eloquent laravel-query-builder

我有两个表,例如用户和订单。

我必须加入 users.id = orders.user_id 上有订单的用户- 这很好。 用户表与订单表具有一对多关系。

我也有一些条件,比如orders.pay_type = 'xyz' , 'orders.date = yesterday' , 'user.status = active' ..等等

我的问题是我需要将我的用户表连接到与该 user_id 相对应的订单表的最新行。 或者需要获取用户订单表详细信息以及用户表数据的最新详细信息。

我已经尝试过

->orderBy('orders.date')
->groupBy('orders.user_id')
->get();

但是在o/p中没有结果。

最佳答案

$data= users::leftJoin('orders', function($join) { $join->on('orders.user_id', '=', 'users.id') ->on('orders.id', '=', DB::raw("(SELECT max(id) from orders WHERE orders.user_id = users.id)")); }) ->select(*)

这解决了我的问题。

关于php - Laravel 查询格式 - 连接到最新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58933252/

相关文章:

php - 拉维尔 5 : How to saveMany() based on value

php - 如何将数字添加到mysql中的当前值(同时多次)?

mysql - 使用 AJAX 更新数据库

php - 如何将base64图像解码保存到laravel中的公用文件夹

PHP:将前缀字符串添加到数组值

php - ORM 关系(可能是 Kohana 特定的)

php - Laravel Blade 布局

PHP - 计算正则表达式模式中的总字数

javascript - 下拉实时计算

php - jQuery ajax 调用后将 SQL 数据返回 JavaScript