未定义的变量:编辑(查看:/home/marco/prova/resources/views/home.blade.php)

时间:2018-01-31 09:27:32

标签: php html laravel blade

我有问题,刀片找不到变量:编辑器。 这是我的控制器的功能。

public function HomeText()
{
    $data = [];
    $data['editor'] = Editore::get();

    return view('home')->with($data);
}

这些是文件blade.php中的说明:

<select class="form-control select_editore">

@foreach ($editor as $editore)
  <option>
     {{ $editore->id_editore, $editore->nome_editore }}
  </option>
@endforeach
</select>

错误是什么? 我希望你帮助我! 我是Laravel的新手, 我想了解我错在哪里。

4 个答案:

答案 0 :(得分:5)

如果要使用数组,请将其更改为:

return view('home', $data);

如果您想使用->with(),请执行以下操作:

->with('editor', $data['editor'])

答案 1 :(得分:1)

改变这个:

public function HomeText()
{
 $data = [];
 $data['editor'] = Editore::get();
 return view('home')->with($data);
}

到此:

public function HomeText()
{
 $editor = Editore::all();
 return view('home',compact('editor'));
}

并在您的刀片文件中 更改 <option>{{ $editore->id_editore, $editore->nome_editore }}</option><option>{{ $editore->id_editore}}, {{$editore->nome_editore }}</option>

答案 2 :(得分:0)

您可能想要更改将变量传递给此

的方式
public function HomeText()
{
    $data = [];
    $data['editor'] = Editore::get(); // or all()

    return view('home', $data);
}

然后您现在可以在刀片中使用$editor ..

答案 3 :(得分:-1)

以您的编码方式,您无法直接致电$editor

您必须使用$data[‘editor’] as $editore

<select class="form-control select_editore">

@foreach ($data[‘editor’] as $editore)
  <option>
     {{ $editore->id_editore, $editore->nome_editore }}
  </option>
@endforeach