变量未在Laravel 5.5中定义每个循环

时间:2017-09-25 05:11:16

标签: php

我遇到了Laravel 5.5的问题。

我的控制器中有一个公共函数,在函数内部我有这个:

$test = 'testing';

$products = Products::all();
$products->each(function ($item, $key) {
    $price = $item->price;
    dd($test);
});

我得到以下内容:

ErrorException (E_NOTICE)
Undefined variable: test

怎么可能呢?有什么我想念的吗? 顺便说一句,如果我这样做:

dd($price);

它会死并打印价格,以便循环正常工作。

2 个答案:

答案 0 :(得分:1)

阅读anonymous functions

$products->each(function ($item, $key) use ($test) {
    $price = $item->price;
    dd($test);
});

答案 1 :(得分:1)

您需要使用use($ variable)方法才能访问匿名函数中的变量。

    $test = 'testing';

    $products = Products::all();
    $products->each(function ($item, $key) use ($test) {
        $price = $item->price;
        dd($test);
    });