You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9中如何查询status为1或2的数据?已实现status=1的逻辑

解决方案:查询status为1或2的账户数据

你可以通过以下两种简洁方式修改代码,实现查询status等于1或2的数据:

方法一:使用whereIn(推荐,适合固定多值匹配)

whereIn方法可直接指定字段的可选值列表,生成IN条件的SQL,代码简洁高效:

public function depositAccountIndex()
{
    $userId = Auth::id();
    return response()->json(Account::latest()->where('user', $userId)->whereIn('status', [1, 2])->get());
}

方法二:使用闭包包裹orWhere(适合复杂条件组合)

如果后续需要扩展status的匹配逻辑,可用闭包包裹orWhere,确保查询逻辑准确(避免与前面的user条件产生逻辑混乱):

public function depositAccountIndex()
{
    $userId = Auth::id();
    return response()->json(Account::latest()->where('user', $userId)->where(function ($query) {
        $query->where('status', 1)->orWhere('status', 2);
    })->get());
}

注:第二种方法生成的SQL为WHERE user = ? AND (status = 1 OR status = 2),能精准保证用户匹配且status符合要求的逻辑。

内容的提问来源于stack exchange,提问作者Udayanga Amarasinghe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 12:05:21