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 的表条目我该如何实现这一目标?
答案 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
希望这有帮助。