Я хочу показать назначенных пользователей, используя laravel - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь показать назначенных пользователей пользователю. У меня есть отношения ч / б user и user_permission, но я сталкиваюсь с ошибкой. Как это исправить, спасибо. пожалуйста, проверьте эту ошибку https://flareapp.io/share/q5Y12O5X#F52 Может кто-нибудь предложить мне решение, где я ошибаюсь.

Таблица базы данных

            user_permission table 
            please see here https://ibb.co/7486n95     

            user table 
            please see here https://ibb.co/5jmqb0H

Контроллер

           public function index()
          {
          $users=User::with('permission')->where('id' ,'!=' ,Auth::id())->paginate(6);   
          return view('index',compact('users'));
           }

Модель пользователя

            class User extends Authenticatable
            {
            public function permission()
            {   
            return $this- 
            >hasMany('App\Users_permissions','user_Access_id','id');
            }
            }

Users_permissions Модель

           class Users_permissions extends Model
           {

           protected $table = 'user_permission';
           protected $fillable = ['id','user_id', 'user_Access_id'];
           public function user()
           {
           return $this->belongsTo('App\User','id');
           }
           }

Html Просмотр

        <!-- Default box -->
        <div class="card card-solid">
        <div class="card-body pb-0">
        <div class="row d-flex align-items-stretch">
        @foreach($users->permission as $user)
        <div class="col-12 col-sm-6 col-md-4 ">
        <div class="card bg-light">
        <div class="card-header text-muted border-bottom-0">
       <div class="card-tools"> <span data-toggle="tooltip" title="3 New Messages" 
       class="badge badge-primary"></span>
       </div>
       </div>
       <div class="card-body pt-0">
       <div class="row">
       <div class="col-7">
       <h2 class="lead"><b>{{$user->name}}</b></h2>
       <p class="text-muted text-sm"><b>Job: </b> {{$user->job}}</p>
       <ul class="ml-4 mb-0 fa-ul text-muted">
       <li class="small"><span class="fa-li"><i class="fas fa-lg fa-phone"></i></span> Phone 
       #: {{$user->phone_number}}</li>
       </ul>
       </div>
      <div class="col-5 text-center">
      <img src="{{url('public/assets/dist/img/user1-128x128.jpg')}}" alt="" class="img- 
      circle img-fluid">
      </div>
      </div>
      </div>
      <div class="card-footer">
      <div class="text-left">
       @if($user->isOnline())
      <a href="#"> <i class="fa fa-circle text-success"></i> Online</a>@else
      <a href="#"> <i class="fa fa-circle text-default"></i> offline</a>@endif</div>
      <div class="text-right">
      <a href="{{url('/chat',$user->id)}}" class="btn btn-sm bg-teal"> <i class="fas fa- 
      comments"></i><b> Chat</b>
      </a>
      </div>
      </div>
      </div>
      </div>@endforeach</div>
      </div>
      <!-- /.card-body -->
     <div class="card-footer">
     <nav aria-label="Contacts Page Navigation">
     <ul style="list-style-type:none;">
     <li>{{$users->links()}}</li>
     </ul>
     </nav>
    </div>
    <!-- /.card-footer -->
    </div>
    <!-- /.card -->

Ответы [ 2 ]

0 голосов
/ 21 февраля 2020

Вы применяете permissions к коллекции пользователей, но только у отдельного пользователя есть разрешения. Вам нужно l oop через всех ваших пользователей, затем получить доступ к разрешениям пользователей:

@foreach($users as $user)
  ...
  @foreach($user->permission as $permission)
    {{$permission->name}}
  @endforeach
@endforeach
0 голосов
/ 21 февраля 2020

Вот, что вы пытаетесь сделать, это то, что вы напрямую получаете доступ к permission отношению из коллекции, поэтому оно показывает ошибку. Во-первых, вы должны провести через пользователей oop, и внутри этого конкретного отношения между пользователями существуют разрешения. Таким образом, вы должны сначала l oop через модель пользователя.

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...