gpt4 book ai didi

php - Laravel 5.4 查询生成器使用 orWhere 子句时缺少参数 2

转载 作者:可可西里 更新时间:2023-11-01 07:29:44 24 4
gpt4 key购买 nike

谁能告诉我为什么我会收到此错误以及如何修复它。

    $lastDayPreviousMonth = date("Y-m-d", strtotime("last day of previous month"));
$firstDayPreviousMonth = date("Y-m-d", strtotime("first day of previous month"));

$query = DB::table('employees')
->where('Emp_ClientId', '=', $clientId)
->where('Emp_StatusId', 1)
->orWhere(function ($query, $firstDayPreviousMonth, $lastDayPreviousMonth){
$query->where('Emp_DateSuspTerm', '>=', $firstDayPreviousMonth)
->where('Emp_DateSuspTerm', '<=', $lastDayPreviousMonth)
->where('Emp_ClientId', '=', $clientId);
})
->count();

运行时出现以下错误

App\Http\Models\Employees::App\Http\Models{closure}() 缺少参数 2

我认为这与传入 orWhere 子句的 firstdaypreviousmonth 和 lastdaypreviousmonth 参数有关 - 如果我将其取出,我将得到 undefined variable 。

最佳答案

你可以使用 use 关键字来使用闭包

$query = DB::table('employees')
->where('Emp_ClientId', '=', $clientId)
->where('Emp_StatusId', 1)
->orWhere(function ($query) use($firstDayPreviousMonth, $lastDayPreviousMonth,$clientId){
$query->where('Emp_DateSuspTerm', '>=', $firstDayPreviousMonth)
->where('Emp_DateSuspTerm', '<=', $lastDayPreviousMonth)
->where('Emp_ClientId', '=', $clientId);
})
->count();

关于php - Laravel 5.4 查询生成器使用 orWhere 子句时缺少参数 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46417603/

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