0

我正在尝试将变量从控制器传递到包含在我的主视图中的视图。我尝试通过以下方式进行操作,但Undefined Variable出现错误。

最初我尝试创建一个控制器并尝试使用 将变量传递compact()给我包含在我的主视图中的视图。

MyController.php

    public function example() {
        $example = example::all()->toArray();
        return view('front.exampleview.index', compact('example'));
    }

示例视图/index.blade.php

<div>
    @foreach($example as $item)
        <img src="{{ asset('uploads/example/').$item['image'] }}" alt="">
    @endforeach
</div>

由于我没有发现上述方法有任何运气,因此我尝试使用已经存在的控制器并认为因为我正在使用该控制器传递一个变量,所以我不妨使用它。但这里也没有运气。

产品控制器.php

    public function index() {
        $product = product::all()->toArray();
        return view('front.shop', compact('product'));
    }

    public function product(product $slug) {
        return view('front.product', compact('slug'));
    }

    public function example() {
        $example = example::all()->toArray();
        return view('front.exampleview.index', compact('example'));
    }

我尝试通过上述两种方式将返回目标更改为我的主视图,但仍然没有运气。

4

2 回答 2

0

您的代码看起来不错,您可以尝试将变量名称形式更改$exemple$tempexmple实际在compact()其中传递对象(例如::外观)。做同样的事情$product

如果可能,请在此处分享错误消息。谢谢

于 2021-08-09T18:45:18.490 回答
0

请尝试该代码,

MyController.php

public function example(){
        $example = example::all()->toArray();
        return view('front.exampleview.index', ['example' => $example]);
  }

或者

你也可以试试

public function example(){
        $example = example::all()->toArray();
        return view('front.exampleview.index')->compact('example');
  }
于 2021-08-10T11:37:12.903 回答