H.t*_*tay 2 php mysql sql laravel laravel-5
嗨,我正在尝试使用控制器中的以下函数在 Laravel 中进行一个小型系统过滤,以按用户的角色或姓名过滤用户,这是我当前的代码:
配置文件控制器.php:
public function membrevis()
{
$filter = isset($_GET['filter']) ? $_GET['filter'] : null;
$users = DB::table('users')
->join('user_role', 'users.id', '=', 'user_role.user_id')
->join('roles', 'user_role.role_id', '=', 'roles.id')
->where('users.valid','=',0)
->select('users.*','roles.description');
if ($filter != null) {
$users->where('users.name','like','%'.$filter.'%')
->orWhere('roles.description',' like','%'.$filter.'%');
}
$users->get();
return view('membre2',['users'=> $users]);
}
Run Code Online (Sandbox Code Playgroud)
我的视图有一个输入表单,您可以在其中键入要过滤的成员的姓名或角色:
membre2.blade.php:
<form action="/profilecontroller/membrevis" method="get">
<input type="text" name="filter" >
<button type="submit">filter</button>
</form>
@foreach($users as $users)
<h4 class="media-heading">{{ $users->name }}</h4>
@endforeach
Run Code Online (Sandbox Code Playgroud)
我得到的错误是 Undefined property: Illuminate\Database\MySqlConnection::$name
我不知道为什么我会收到这个错误,我显然是用这行命令将 $users 传递给我的视图:
return view('membre2',['users'=> $users]);
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!谢谢你
当使用$users->get()它返回Collection实例时,你必须分配$users = $users->get() ; 更正的代码是
public function membrevis()
{
$filter = isset($_GET['filter']) ? $_GET['filter'] : null;
// also can use this structure $filter = isset($_GET['filter']) ?? null;
$users = DB::table('users')
->join('user_role', 'users.id', '=', 'user_role.user_id')
->join('roles', 'user_role.role_id', '=', 'roles.id')
->where('users.valid','=',0)
->select('users.*','roles.description');
if ($filter != null) {
$users->where('users.name','like','%'.$filter.'%')
->orWhere('roles.description',' like','%'.$filter.'%');
}
$users = $users->get();
return view('membre2',['users'=> $users]);
}
Run Code Online (Sandbox Code Playgroud)
也在刀片中修复它
@foreach($users as $user)
<h4 class="media-heading">{{ $user->name }}</h4>
@endforeach
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7660 次 |
| 最近记录: |