我在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
{
//
}
我该如何解决? TIA。
答案 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