Я хочу выполнить поиск по пользователям таблиц, но вижу ошибку на http://127.0.0.1:8000/
:
Недопустимый аргумент для foreach () (Просмотр: / opt / lampp / htdocs / abonamenty / resources / views / users / index.blade. php)
И при ошибке 404 localhost после нажатия кнопки поиска.
«Объект не найден! Запрошенный URL не был найден на этом сервере. Ссылка на соответствующей странице неверна или устарела. Сообщите автору этой страницы о проблеме. Если вы считаете, что это ошибка сервера, обратитесь к администратору. "
Это часть моего контроллера
public function index(Request $request)
{
$data = User::sortable()->paginate(5);
return view('users.index', compact('data'))->with('i', ($request->input('page', 1) - 1) * 5);
}
public function search(Request $request)
{
$search = $request->get('search');
$data = DB::table('users')->where('surname', "%$search%")->paginate(5);
return view('users.index', ['users' => $data]);
}
Мои маршруты:
Route::get('/home', 'HomeController@index')->name('home');
Route::group(['middleware' => ['auth']], function () {
Route::resource('roles', 'RoleController');
Route::resource('users', 'UserController');
Route::resource('permissions', 'PermissionController');
Route::resource('products', 'ProductController');
Route::get('/search', 'UserController@search');
Route::get('data', 'UserController@index');
Route::get('posts', 'PostController@index');
});
Мое представление:
@extends('layouts.app')
@section('content')
<div class="row">
<div class="col-lg-12 margin-tb">
<div class="pull-left">
<h2>Zarządzanie kontami użytkowników</h2>
</div>
<div class="col-md-4">
<form action="/search" method="get">
<div class="input-group">
<input type="search" name="search" class="form-control">
<span class="input-group-prepend">
<button type="submit" class="btn btn-primary">Wyszukaj</button>
</span>
</div>
</form>
</div>
<div class="pull-right">
<a class="btn btn-success" href="{{ route('users.create') }}"> Utwórz nowego użytkownika</a>
</div>
</div>
</div>
<br>
@if ($message = Session::get('success'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
@endif
<table class="table table-bordered">
<tr>
<th scope="col">@sortablelink('id', 'Numer')</th>
<th scope="col">@sortablelink('name', 'Imię')</th>
<th scope="col">@sortablelink('surname', 'Nazwisko')</th>
<th scope="col">@sortablelink('showname', 'Nazwa wyświetlania')</th>
<th scope="col">@sortablelink('email', 'Email')</th>
<th>Rola</a></th>
<th width="280px">Akcja</a></th>
</tr>
@foreach ($data ?? '' as $key => $user)
<tr>
<td>{{ ++$i ?? '' ?? '' }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->surname }}</td>
<td>{{ $user->showname }}</td>
<td>{{ $user->email }}</td>
<td>
@if(!empty($user->getRoleNames()))
@foreach($user->getRoleNames() as $v)
<label class="badge badge-success">{{ $v }}</label>
@endforeach
@endif
</td>
<td>
<a class="btn btn-info" href="{{ route('users.show',$user->id) }}">Wiecej informacji</a>
<a class="btn btn-primary" href="{{ route('users.edit',$user->id) }}">Edytuj użytkownika</a>
{!! Form::open(['method' => 'DELETE','route' => ['users.destroy', $user->id],'style'=>'display:inline']) !!}
{!! Form::submit('Usuń', ['class' => 'btn btn-danger']) !!}
{!! Form::close() !!}
</td>
</tr>
@endforeach
</table>
{!! $data ?? ''->appends(request()->except('page'))->render() !!}
<!--{!! $data ?? ''->render() !!}-->
<p class="text-center text-primary"><small>ARTplus 2020</small></p>
@endsection