Laravel加入极限

时间:2016-09-07 09:19:11

标签: laravel eloquent

我有以下工作laravel paginate

$query = DB::table('clients')
            ->leftJoin('radusergroup', 'clients.username', '=', 'radusergroup.username')
            ->leftJoin('recharge', 'clients.username', '=', 'recharge.soldto');

我想加入两个表radusergroup和充值的一些值。 radusergroup总是返回一行,因为它只存储了一行,而充值表返回多行。我只想从充值表中返回一行,这是最新的条目。

现在它从充值表返回所有可能的行,并在分页视图中显示。

1 个答案:

答案 0 :(得分:2)

这是Laravel Official documentation

DB::table('clinets')
     ->leftJoin('radusergroup', 'clients.username', '=', 'radusergroup.username')
    ->leftJoin('recharge', function ($leftJoin) {
        $leftJoin->on('clients.username', '=', 'recharge.soldto')
             ->where('recharge.create_date', '=', DB::raw("(select max(`create_date`) from recharge)"));
    })
    ->get();

如果你的表中有create_date列就是这种情况,如果你还没有得到它,我强烈建议你创建该列。