#php #laravel
#php #laravel
Вопрос:
это мой маршрут
Route::get('/user/{id}',function($id){
$users=User::find($id)->orderBy('created_at','desc')->paginate(10);
return view('profile',compact('users'));
})->middleware('auth');
это мой профиль
@extends('layouts.app')
@foreach($users as $user)
@endforeach
@foreach($users-> roles as $role)
@endforeach
@section('profile')
<head>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="{{asset('css/profile.css')}}">
</head>
<div class="container">
<div id="content" class="content p-0">
<div class="profile-header">
<div class="profile-header-cover"></div>
<div class="profile-header-content">
<div class="profile-header-img">
<img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="" />
</div>
<div class="profile-header-info">
<h4 class="m-t-sm">{{$users->name}}</h4>
<p class="m-b-sm">Texnik</p>
<!-- <a href="#" class="btn btn-xs btn-primary mb-3"></a>-->
</div>
</div>
<ul class="profile-header-tab nav nav-tabs">
<li class="nav-item"><a href="#profile-post" class="nav-link" data-toggle="tab">GÖRDÜYÜ İŞLƏR</a></li>
</ul>
</div>
<div class="profile-container">
<div class="row row-space-20">
<div class="col-md-8">
<div class="tab-content p-0">
<div class="tab-pane active show" id="profile-about">
<table class="table table-profile">
<thead>
<tr>
<th colspan="2">{{$users->name}} - Gördüyü işlər</th>
</tr>
</thead>
<tbody>
@foreach($users-> works as $work)
<tr>
<td class="field">Gördüyü iş</td>
<td class="value">
<div class="m-b-5">
<b>{{$work->name}}</b> <a href="#" class="m-l-10"></a><br />
<span class="text-muted"> <div class="btn btn-{{$work->status=='Davam edir' ? 'primary' : 'success'}} btn-xs">{{$work->status}}</div></span>
</div>
<div>
<br>
<b>Tapşırığın yaradıldığı tarix</b> <a href="#" class="m-l-10"></a><br />
<span class="text-muted">{{$work->created_at}}</span>
</div>
<hr>
<div>
<b>Son Tarix</b> <a href="#" class="m-2-10"></a><br />
<span class="text-muted"> <div class="btn btn-{{$work->status=='Davam edir' amp;amp; $work->deadline <= CarbonCarbon::today() ? 'danger' : 'success'}} btn-xs">{{$work->deadline}}</div></span>
</div>
<div>
<hr>
<a href="/update/{{$work->id}}"> <button type="submit" class="btn btn-info">Yenilə</button></a>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-4 hidden-xs hidden-sm">
<ul class="profile-info-list">
<li class="title">Şəxsi Məlumatlar</li>
<li>
<div class="field">İxtisas:</div>
<div class="value"></div>
</li>
<li>
<div class="field">Bacarıqlar:</div>
<div class="value"></div>
</li>
<li>
<div class="field">Səlahiyyəti:</div>
<div class="value">{{$role->name}}</div>
</li>
<li>
<div class="field">Doğum tarixi</div>
<div class="value"></div>
</li>
<li class="title"></li> <!--
<li class="img-list">
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="" /></a>
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar3.png" alt="" /></a>
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar4.png" alt="" /></a>
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar5.png" alt="" /></a>
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar6.png" alt="" /></a>
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar7.png" alt="" /></a>
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar8.png" alt="" /></a>
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar1.png" alt="" /></a>
<a href="#" class="m-b-5"><img src="https://bootdey.com/img/Content/avatar/avatar2.png" alt="" /></a>
</li>
friend list -->
</ul>
</div>
</div>
</div>
</div>
</div>
@endsection
*** это выдает мне эту ошибку. Но $ role работает до тех пор, пока я не использую paginate в маршруте. Но теперь это не работает. Как я могу использовать find(), order by и разбивку на страницы? ***
Неопределенное свойство: Illuminate Pagination LengthAwarePaginator::$ роли (Просмотр: C:xampphtdocsmitresourcesviewsprofile.blade.php )
Комментарии:
1. добро пожаловать в SO… где вы используете
$roles
.?2. почему у вас есть 2 пустых
foreach
цикла в верхней части этого? … В ответе KamleshPaul указывалась корректировка, которую вам нужно было внести, чтобы вы могли удалить эти 2foreach
цикла, поскольку они являются проблемой на данный момент3. потому что я использую $user role на этой странице
4. я решаю это… Маршрут:: get(‘/user/{id}’, функция($id){ $users=User::find($id); $works=$users-> works()-> OrderBy(‘created_at’, ‘desc’)-> paginate(10); return view(‘профиль’, compact(‘пользователи’, ‘работы’)); })-> промежуточное программное обеспечение (‘auth’);
5. итак, в основном ответ @KamleshPaul был
Ответ №1:
$users=User::find($ id)-> OrderBy(‘created_at’, ‘desc’)-> разбиение на страницы(10);
как я вижу, вы используете $users->works
это в своем файле blade, поэтому вам следует попробовать это
$users = User::find($id);
$works = $users->works()->orderBy('created_at','desc')->paginate(10); // assume you have setup `works()` relationship
затем в blade вы можете сделать вот так
@foreach($works as $work)
Комментарии:
1. примечание: они не разбивают на страницы одну модель… когда вы вызываете
orderBy
экземпляр модели, который создает новый конструктор, таким образом, они фактически разбиваютusers
таблицу на страницы