Laravel中未定义的变量

时间:2020-08-24 10:22:58

标签: php laravel laravel-5

我在Laravel的代码段中得到了未定义的变量错误:(这是index.blade.php文件)

 @foreach($faqs as $faq) 

  <tr>
  <td>{{$loop->iteration}}</td>
  <td>{{$faq->question}}</td>
  <td>{{$faq->descripton}}</td>
  </tr>

尽管我通过Controller在此文件中发送了变量:

public function index(Request $request)
{

    $faqs = Faq::all();
    return view('admin.faq.index')->with('faqs', $faqs);
}

常见问题模型是:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Faq extends Model
{
    //
}

我收到的错误消息是 enter image description here

我该如何解决? TIA。

3 个答案:

答案 0 :(得分:1)

您需要以array->with()方法)传递数据,也可以使用compact方法。

return view('admin.faq.index', compact('faqs')); 

return view('admin.faq.index')->with(array('faqs'=>$faqs));

答案 1 :(得分:0)

尝试如下使用compact方法:

 public function index(Request $request)
{

    $faqs = Faq::all();
    return view('admin.faq.index',compact('faqs'));
}

答案 2 :(得分:-1)

好像$ faqs是空的。您可以使用@isset()进行检查。 https://laravel.com/docs/7.x/blade#if-statements

相关问题