首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >laravel 8控制器中的wtih双或算子

laravel 8控制器中的wtih双或算子
EN

Stack Overflow用户
提问于 2022-02-17 05:58:51
回答 1查看 173关注 0票数 0

我需要查找where子句有3条件的数据,所以它需要OR操作符两次,这是我的控制器中的代码,我使用了laravel 8

代码语言:javascript
运行
复制
$salesTransactions = SalesTransaction::when($request->keyword, function ($query) use ($request) {
        $query
        ->where('tanggal_transaksi', 'like', "%{$request->keyword}%")
        ->orWhere('name', 'like', "%{$request->keyword}%")
        ->orWhere('status', 'like', "%{$request->keyword}%");
    })->join('distributors', 'distributors.id', '=', 'sales_transactions.distributor_id')
    ->join('users', 'users.id', '=', 'distributors.user_id')
    ->select('sales_transactions.*', 'users.name')
    ->orderBy('tanggal_transaksi', 'DESC')->latest('sales_transactions.id')->paginate(25);

我得到了错误,但不知道如何解决,问题是我不能使用或操作两次,知道吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-02-17 07:54:41

如果需要将“或”条件分组到括号内,则可以将闭包作为第一个参数传递给orWhere方法。比如:

代码语言:javascript
运行
复制
$users = DB::table('users')
            ->where('votes', '>', 100)
            ->orWhere(function($query) {
                $query->where('name', 'Abigail')
                      ->where('votes', '>', 50);
            })
            ->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71153147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档