未定义变量:文件(查看:\resources\views\home.blade.php)
Posted
技术标签:
【中文标题】未定义变量:文件(查看:\\resources\\views\\home.blade.php)【英文标题】:Undefined variable: files (View: \resources\views\home.blade.php)未定义变量:文件(查看:\resources\views\home.blade.php) 【发布时间】:2019-11-07 14:45:50 【问题描述】:我正在尝试从下拉列表中的文件表中获取一些数据(所有文件名),但它给出了错误:未定义的变量:文件
控制器:
public function show($id)
$data = File::findOrFail($id);
$files = \DB::table('files')->get();
return view('userhome', compact('data', 'files'));
刀片模板:
<div class="form-group">
<label class="text-left">Select Record</label>
<select name="parent_id">
<option value="">Select Record</option>
@foreach ($files as $filename)
<option value=" $filename->id "> $files->filename </option>
@endforeach
</select>
</div>
web.php:https://ibb.co/xMswcTG
是什么导致了这个错误?
【问题讨论】:
您正在使用compact('data', 'users')
将数据发送到您的视图。首先,users
变量在您的 show
方法的上下文中不存在,因此无法发送。其次,您应该将'files'
添加到compact 列表中,以便在Blade 视图文件中可以使用$files
变量。此外,为了将来参考,请不要像为路线列表所做的那样使用图像而不是文本,这样可以提出更好的问题。
好的,我改了,但还是一样的错误
Blade 文件中的哪一行出现错误?
@Bogdan ibb.co/dc0Ggx9 完全错误
嗯,应该可以。尝试通过运行php artisan view:clear
来清除已编译的视图。
【参考方案1】:
您将 userhome.blade.php 返回到您的控制器,但尝试将 $files 和 $data 变量放入 home.blade.php
改变
return view('userhome', compact('data', 'files'));
到
return view('home', compact('data', 'files'));
一切都必须正常工作;)
【讨论】:
【参考方案2】:您需要在选项标签中使用“$filename->”对象而不是“$files->”对象。 请使用以下代码更新刀片。
<div class="form-group">
<label class="text-left">Select Record</label>
<select name="parent_id">
<option value="">Select Record</option>
@foreach ($files as $filename)
<option value=" $filename->id "> $filename->filename </option>
@endforeach
</select>
</div>
【讨论】:
以上是关于未定义变量:文件(查看:\resources\views\home.blade.php)的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 Laravel 7 中查看不同内容时,刀片视图上的 ErrorException 未定义变量
未定义的变量:users(查看:C: xampp htdocs rentalmobil resources views admin user.blade.php)
在 Laravel 5.1 中传递数据控制器以查看获取未定义的变量
未定义变量:编辑器(查看:/home/marco/prova/resources/views/home.blade.php)