0
私はLumenを使用しています。モデルの関係を持つモデルです。私がしようとしているのは、すべてのカテゴリを取得し、各カテゴリが持つ投稿の数を数えることです。これはうまくいきます。しかし、私はそれがcreator_id == $current_user_id
を数えることを望んでいません、どうすればいいですか?Eloquentどこにも関係がありません
これは私のPostクラスである:
public function user(){
return $this->belongsTo(User::class);
}
public function category(){
return $this->belongsTo(Category::class);
}
そして、これが私のCategoryクラスである:
public function posts(){
return $this->hasMany(Post::class);
}
そして、これが私のクエリです:
public function getCategories($user_id){
$categories = Category::withCount('posts')->get();
return new JsonResponse(['categories' => $categories]);
}
だから私はしないでください現在のユーザーが作成した投稿を数えたい。
ので、出力は次のようなものでなければなりません:この私も成功せずにしようとしたものを
{
"categories": [
{
"name": "All",
"posts_count": 0
}]
}
:
$categories = Category::where('creator_id', '!=', $user_id)->withCount('posts')->get();
ありがとうございました、それはうまくいった。しかし、このように使うのは安全ですか?私はLaracastのフォーラムの記事で、そのようにしてはならないことを知っていました。私が間違っているかもしれない、私がいれば私を修正してください。 –
この方法を自由に使用してください。これは正しい方法です –