显示登录用户

时间:2017-11-10 01:44:47

标签: eloquent laravel-5.5

laravel 5.5
旅行者1.0

我需要进入一个表并检索所使用的登录所发布的所有帖子。 我正在使用 laravel Auth 来处理登录 目前我有:

控制器:

public function index(){
   $datum = ReportDatum::paginate(5);
   return view('pages.feed', ['datum' => $datum]);
}

模型:

class ReportDatum extends Model {
   public function owner(){
     return $this->belongsTo(User::class, 'owner_id'); 
   }
}

并在视图中

@foreach ($datum as $data) 
    <h5>{{ $data->owner->name }}</h5>
    <h3>{{ $data->title }}</h3>
    <p>{{ $data->description }}</p>
    <p>{{ $data->created_at->format('d M Y') }}</p>
@endforeach
    {{ $datum->render() }}

到目前为止,这将检索所有数据。我需要将其限制为只有登录用户 id = owner_id 的表条目我该如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

在User.php文件(Model)中添加一个新方法,如下所示。

public function datum()
{
  return $this->hasMany(ReportDatum::class, 'owner_id', 'id');
}

实现该方法后,转到您的控制器并使用此代码更改您拥有的内容,以使ReportDatum属于已登录的用户。

$reportDatums = Auth::user()->datum;

然后在你看来做这样的事情。

@foreach ($reportDatums as $datum)
   <h5>{!! $datum->name !!}</h5>
   {-- rest of your data here --}
@endforeach

希望这有帮助。