阅读(2593) (9)

Laravel 8 子查询 Where 语句

2021-07-07 09:14:27 更新

有时候,您可能需要构造一个 where 子句,将子查询的结果与给定值进行比较。您可以通过向 where 方法传递一个闭包和一个值来完成此操作。例如,下面的查询将检索最后一次「会员」购买记录是 「Pro」 类型的所有用户:

use App\Models\User;

$users = User::where(function ($query) {
    $query->select('type')
        ->from('membership')
        ->whereColumn('user_id', 'users.id')
        ->orderByDesc('start_date')
        ->limit(1);
}, 'Pro')->get();