Laravel-从ID获取用户名

时间:2018-08-03 11:31:46

标签: laravel laravel-5

我有一个Laravel 5.6应用程序,它将各种信息记录到数据库表中,然后将这些数据显示在HTML视图中。我这样称呼这种观点...

$logs = Log::all();
return view('logreport.index')->with('logs', $logs);

该表仅包含用户ID,有没有一种方法可以获取用户表的用户名和姓氏?还是我需要建立关系?

3 个答案:

答案 0 :(得分:2)

如果日志表包含user_id,并且您想要获取用户名,则可以通过以下方式通过关系获取用户名:

在日志模型中添加以下方法:

  public function user(){
     return $this->belongsTo('App\User','user_id','id');
 }

然后您可以在视图文件中访问用户信息,例如以下的名字

  @foreach($logs as $log)
       <h1>{{$log->user->first_name  .' '.$log->user->last_name }}</h1>
   @endforeach

答案 1 :(得分:1)

您可以使用Eloquent relationship来回答Ali,也可以使用“ Joins ”,结果为:

$logs = Log::join('users', 'users.id', '=', 'logs.user_id')->get();
return view('logreport.index')->with('logs', $logs);

,然后以以下方式访问结果:

<h1>{{ $log->first_name .' '. $log->last_name }}</h1>

答案 2 :(得分:0)

您不需要建立关系。只要雄辩就行。

$users = User::whereIn('id', array(...))->get();

或使用查询生成器

$users = DB::table('users')->whereIn('id', array(...))->get();

用ID的值替换圆点