Привет, я пытаюсь сделать небольшую системную фильтрацию в laravel, используя следующую функцию в моем контроллере для фильтрации пользователей по их ролям или их именам, вот мой текущий код:
profilecontroller.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]);
}
В моем представлении есть форма ввода, в которой вы можете ввести имя или роль членов, которых вы пытаетесь фильтровать:
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
Я получаю ошибку Undefined property: Illuminate\Database\MySqlConnection::$name
Я понятия не имею, почему я получаю эту ошибку, я, очевидно, передаю $ пользователей на мой взглядс этой командной строкой:
return view('membre2',['users'=> $users]);
Любая помощь будет оценена!спасибо