Laravel: отображать несколько данных в одной строке для каждого пользователя - PullRequest
0 голосов
/ 03 июля 2018

Как я могу отобразить несколько данных в одной строке с внешним ключом по идентификатору пользователя, например: У меня есть пользователи с несколькими билетами, мне нужно отображать для каждого пользователя номер его заявки в одном столбце.

enter image description here

это мой контроллер

public function followticket()
{
    $data = DB::table('tickets')
        ->join('users', 'users.id', '=', 'tickets.user_id')
        ->select('users.*', 'tickets.*')->get();

    return view('Admin.suivi-tickest',compact('data'));
}

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете попробовать с отношениями модели Laravel

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

public function tickets(){
  return $this->hasMany('App\Ticket', 'user_id');
}

Контроллер

public function followticket()
{
    $users = User::withCount('tickets')->get();
    return view('Admin.suivi-tickest',compact('users'));
}

OR

Если вы используете построитель запросов, вы можете попробовать вот так

$users = DB::table('users')
            ->join('tickets', 'users.id', '=', 'tickets.user_id')
            ->select('users.*', DB::raw('count(*) as tickets_count'))
            ->groupBy('id')
            ->get();

Шаблон

@foreach($users as $user)
   {{$user->id}} {{$user->email}} {{$user->tickets_count}}
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...