我们如何使用 Laravel 函数传递额外的参数。我尝试了以下代码,但没有成功。
$endpoints = MyModel::with(['myrelation' => function($q) use ($extraParams) {
foreach ($extraParams as $param)
{
$q->orWhere('ia.paramCode','like',$param.'%');
}
}])->get();
当我使用此代码时,它显示以下错误
Cannot use lexical variable $extraParams as a parameter name
提前致谢
最佳答案
在 PHP 7 中,当您两次传递同一个变量 (use ($extraParams)
时,会发生这种情况。简单的解决方法是将 (use ($extraParams)
重命名为 (使用($someThingElse)
$endpoints = MyModel::with([
'myrelation' => function($q) use ($extraParams){
foreach ($extraParams as $param) {
$q->orWhere('ia.paramCode','like',$param.'%');
}
}
])->get();
这是 PHP 7 中的一个错误,请应用快速修复。
关于laravel - 如何使用 Laravel 函数传递额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51167769/