他试图从下拉菜单中的用户表中获取一些数据(所有用户名),但显示错误:未定义变量:用户
控制器:
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');
});
如何解决?
答案 0 :(得分:1)
从压缩功能中删除评论的项目:
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);
}
答案 1 :(得分:0)
控制器:
public function show($id)
{
$data = File::findOrFail($id);
$users = \App\User::all();
return view('userhome', compact('data', '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>
路线:
Route::get('users', 'HomeController')
唯一要仔细检查的是视图的名称,即名为userhome.blade.php
的视图文件-如果不是,则只是命名为home.blade.php
,请更改return view('...')
部分返回返回UserController的视图的名称
答案 2 :(得分:0)
顶部use App\User;
,然后
$users=User::all();
return view('home', compact('data', 'users'));
在刀片文件中首先检查{{cont($ users)}} 然后去