Laravel 加入限制

Din*_*waj 2 laravel eloquent

我有以下工作为 laravel paginate

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

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

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

Vah*_*yan 9

这是Laravel 官方文档

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();
Run Code Online (Sandbox Code Playgroud)

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