я получаю ошибку при отображении сообщений с помощью orderby и разбивки на страницы в laravel

#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 указывалась корректировка, которую вам нужно было внести, чтобы вы могли удалить эти 2 foreach цикла, поскольку они являются проблемой на данный момент

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 таблицу на страницы