PHP 变量范围问题 laravel

标签 php variables laravel

public function action_detail($orderId)
{
    $customerWithOrderDetails = Customer::with(array('order' => function($query)
    {   global $orderId;
        $query->where('id', '=', $orderId);
    }, 'order.orderdetail', 'order.attachment'))->find(Auth::user()->id);
    return var_dump($customerWithOrderDetails);
}

我收到“变量未定义”错误。为什么?

最佳答案

$orderId 不是全局变量,而是父函数的变量。试试这个:

function($query) use ($orderId)
    {
        $query->where('id', '=', $orderId);
    }

代替:

function($query)
    {   global $orderId;
        $query->where('id', '=', $orderId);
    }

关于PHP 变量范围问题 laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14615189/

相关文章:

php - pngquant PHP 示例不工作

javascript - 在 JavaScript 中单击按钮时下载按钮和输入字段没有响应

c - 如何从文件中读取变量

css url 指向绝对路径,没有相对路径

PHP,用什么代替create_function()?

php - AWS Elastic Beanstalk 使用 PHP 和私有(private) Composer 存储库

c++ - 程序自己声明变量

templates - Silverstripe - 是否可以在包含语句中使用变量?

php - Laravel CKEditor5 - ClassicEditor 未定义

php - 如何使用 Prestashop 客户数据登录 Laravel,而不是使用 Laravel 本地用户数据