سلام دوستان خسته نباشید
در نظر بگیرید یک تیبل یوزر داریم یک تیبل تگ و یک تیبل نوشته
هر یوزر میتونه چند نوشته داشته باشه که هر نوشته یک تگ داره
حالا میخوام با یک کوئری به ازای هر تگ یوزری که بیشترین نوشته با اون تگ رو داشته در بیارم
ممنون میشم با کوئری راو یا الکوئنت همچین کوئری رو بنویسید
نمیدونم درست متوجه شدم یا نه
شما یه tag دارین که میخواین ببینین کدوم user از همه بیشتر از اون استفاده کرده ؟
اگه درست گفتم کدش اینه
// db structure
// users id,email
// comments id,user_id,tag_id,text
// tags id,text
$tag = Tag::find(1) ;
$user = User::query()
// get user comments with tags
->with(["comments","comments.tags"])
// where comment has tag id 1
->whereHas("comments" ,function( Builder $builder_comments ) use($tag) {
$builder_comments->where("tag_id",$tag['id'])->withCount("tags") ;
})
// sort by tags_count desc
->orderByDesc("tags_count")
// `first` or `get`
->first() ;
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟