【问题标题】:Laravel Undefined Variable. How to pass multiple variables from one or more controllers to view(s)?Laravel 未定义变量。如何将多个变量从一个或多个控制器传递到视图?
【发布时间】:2021-10-13 10:34:00
【问题描述】:

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

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

MyController.php

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

exampleview/index.blade.php

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

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

ProductController.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'));
    }

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

【问题讨论】:

  • 使用dd($example) index.blade.php 看看你得到了什么
  • @Pradeep 未定义变量:示例
  • 你也可以展示一下你的观点吗?
  • 您是在向我们展示exampleview/index.blade.phpfront/exampleview/index.blade.php 的视图吗?
  • @matiaslauriti front/exampleview/index.blade.php

标签: php laravel eloquent controller laravel-8


【解决方案1】:

您的代码看起来不错,您可以尝试将变量名称从 $exemple 更改为 $tempexmple 实际上在 compact() 它传递对象(例如::外观)。 对$product 执行相同操作。

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

【讨论】:

  • 这是我收到的错误消息:ErrorException Undefined variable: example(View: D:\xampp\htdocs\myproject\resources\views\front\exampleview\index.blade.php)
【解决方案2】:

请尝试该代码,

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');
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-31
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多