gpt4 book ai didi

php - Laravel - 如何在 $query 函数中定义变量?

转载 作者:行者123 更新时间:2023-12-05 09:14:59 25 4
gpt4 key购买 nike

我的 Controller 中有这个 $query 函数。有用。但是当我尝试在其中添加一个变量时,它不起作用。这是我的完整功能

$setting = DB::table('settings')->where('id','=','1')->get();
foreach($setting as $st)
$date1 = $st->date1;
$date2 = $st ->date2;

$accounts = Account::with(['subaccount' => function($query){
$query->with(['subaccountinvoice'=> function($query){
$query->where('validate', '=','1')->whereBetween('updated_at', [$date1, $date2]);}])->get();
}])->get();

变量$date1$date2 未定义,因为它们在查询函数中

最佳答案

为了在 PHP 中继承闭包中的变量,您需要使用 use 关键字将其传递给闭包。

将您的帐户代码更改为:

$accounts =  Account::with(['subaccount' => function($query) use ($date1, $date2) {
$query->with(['subaccountinvoice'=> function($query) use ($date1, $date2) {
$query->where('validate', '=','1')->whereBetween('updated_at', [$date1, $date2]);}])->get();
}])->get();

关于php - Laravel - 如何在 $query 函数中定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53346353/

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