gpt4 book ai didi

具有多个 wheres 和 whereNotIn 的 Laravel 5.7 Eloquent 查询

转载 作者:行者123 更新时间:2023-11-29 14:14:49 24 4
gpt4 key购买 nike

我正在尝试执行一个查询,该查询根据匹配两个可能列的用户 ID 和不匹配两个值的 workflow_state 获取数据集。我的尝试在这里:

$usersBugs = Bug::where('assigned_user_id', $user->id)
->orWhere('reported_by', $user->id)
->whereNotIn('workflow_state', ['closed', 'rejected'])
->get();

它正在返回一个带有被拒绝的 workflow_state 的“错误”。我猜它正在执行 whereNotIn 作为 or?我将如何重构它以执行错误不能处于这两种状态中的任何一种(无论如何)并且它可以匹配 assigned_user_idreport_by。我尝试使用 whereNotIn:

$usersBugs = Bug::whereNotIn('workflow_state', ['closed', 'rejected'])
->where('assigned_user_id', $user->id)
->orWhere('reported_by', $user->id)
->get();

无论哪种方式,它都会根据 assigned_user_id 返回匹配的错误,尽管 workflow_state 已被拒绝。

最佳答案

你可以试试这个:

$model->whereNotIn(...)->where(function($query) use ($user) {
$query->where('assigned_user_id', $user->id)->orWhere('reported_by', $user->id);
})->get();

关于具有多个 wheres 和 whereNotIn 的 Laravel 5.7 Eloquent 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52727965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com