Laravel: 为每个用户在一行中显示多条数据
Laravel: display multi data in one row for every user
如何通过id用户在一行中使用外键显示多个数据,例如:
我有多张票的用户,我需要在一栏中显示每个用户的票号。
这是我的控制器
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'));
}
你可以尝试与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'));
}
或
如果使用查询生成器,那么您可以这样尝试
$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
如何通过id用户在一行中使用外键显示多个数据,例如: 我有多张票的用户,我需要在一栏中显示每个用户的票号。
这是我的控制器
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'));
}
你可以尝试与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'));
}
或
如果使用查询生成器,那么您可以这样尝试
$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