laravel - 未定义变量:用户(查看:\resources\views\home.blade.php)
问题描述
您好我试图从下拉列表中的用户表中获取一些数据(所有用户名),但它给出了错误:未定义的变量:用户
控制器:
public function show($id)
{
$data = File::findOrFail($id);
//$files = \DB::table('files')->get();
$users = \DB::table('users')->get();
return view('userhome', compact('data', /*'files',*/ 'users'));
}
刀片文件:
<div class="form-group">
<label class="text-left">Select Student</label>
<select name="parent_id">
<option value="">Select parent</option>
@foreach ($users as $user)
<option value="{{ $user->id }}">{{ $user->name }}</option>
@endforeach
</select>
</div>
路线:
Auth::routes();
Route::group(['middleware' => ['auth']], function(){
Route::get('/home', 'HomeController@index');
Route::resource('file','FileController');
});
如何解决?
解决方案
从 compact 函数中删除注释项:
return view('home', compact('data', 'users'));
home
而看法不应该userhome
。由于错误来自其他地方。
- 编辑
在你home.blade.php
删除这个:
<div class="form-group">
<label class="text-left">Select Student</label>
<select name="parent_id">
<option value="">Select parent</option>
@foreach ($users as $user)
<option value="{{ $user->id }}">{{ $user->name }}</option>
@endforeach
</select>
</div>
userhome.blade.php
如果您没有这样的文件,请将此代码移动到您的文件中。
或者在你的HomeController
index
函数中添加这个:
public function index()
{
$users = User::all();
if (Auth::user()->admin == 0) {
$data = Auth::user()->files;
return view('home', compact('data', 'users'));
} else {
$users['users'] = \App\User::all();
return view('layouts.master', $users);
}
//return view('home');
return view('home', compact('users'))->withData(null);
}
推荐阅读
- node.js - cPanel 托管的 node.js 应用程序的进程数很高,并且正在增加
- python - 进行交叉验证的方法
- bash - 为什么 X11 输出“connect /tmp/.X11-unix/X1: No such file or directory”
- c# - 如何使用另一个方法的参数为方法创建线程
- java - LWJGL / STB:在 IntelliJ 中运行与在控制台上运行时的不一致
- ruby-on-rails - 当我们使用 Scenic 管理视图时如何使 rake db:migrate 转储正确的模式
- function - 从 PowerShell 中的 Azure 函数访问 Azure 表
- r - 为什么处理时间戳这么慢?
- java - 如何用下划线制作包名?
- django - 如何格式化写入变量的文本?