特定のユーザーによる結果を表示するのに問題があります。
以下のコードでは、すべてのエントリ($ restaurantmenue)を受け取りますが、代わりに、特定のユーザーによって作成されたエントリのみが必要です。エントリを作成したユーザーのみをクエリするにはどうすればよいですか?
//Restaurant Profile Page
public function showrestaurants($id) {
$restaurant = User::findOrFail($id);
//$restaurant->addclick();
$restaurantmenue = User::with(['articles' => function ($q){
$q->nowpublished();
}])->get();
return view('pages.profile')->withRestaurant($restaurant)->withRestaurantmenue($restaurantmenue);
}
Article.phpのnowpublished()スコープ:
public function scopeNowPublished($query) {
$zero = Carbon::today()->addHours(23)->addMinutes(59)->addSeconds(59);
$query->whereBetween('published_at',[Carbon::today(),$zero])->orderBy('published_at','desc');
}
私の見解:
@foreach($restaurantmenue as $daily)
@foreach($daily->articles as $menue)
<div class="card card-horizontal">
<div class="row">
<div class="col-md-5">
<div class="image" style="background-image: url({{asset('images/frontend/profile/profileHero.jpg')}}); background-size: cover; background-position: center center;">
<img src="{{asset('images/frontend/profile/profileHero.jpg')}}" alt="..." style="display: none;">
<div class="filter filter-azure">
<button type="button" class="btn btn-neutral btn-round">
<i class="fa fa-heart"></i> SMÄCKT MIR
</button>
</div>
</div>
</div>
<div class="col-md-7">
<div class="content">
<p class="category text-info">
<i class="fa fa-trophy"></i> Best of
</p>
<a class="card-link" href="#">
<h4 class="title">{{$menue->title}} </h4>
</a>
<a class="card-link" href="#">
<p class="description">{{$menue->body}}</p>
<br />
{{$menue->price}} €
</a>
</div>
</div>
</div>
</div>
@endforeach
@endforeach
私があなたを正しく理解した場合、あなたは次のようなことをするべきです:
$restaurantmenue = User::where('id', $id)->with(['articles' => function ($q) {
$q->nowpublished();
}])->get();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加