Modelden aynı anda em verileri hemde kayıt sayısını döndürme

Merhabalar,

Aşağıda ki şekilde bir modelim bulunmaktadır, ben bu modelde post detaylarını dönerken aynı anda yorum sayısını, favoriye eklenme sayısını vs. de dönmek istiyorum. Bir türlü yapamadım yardımcı olabilir misiniz ?


public function user_posts($email,$profileId,$typeId)
{
return DB::table('posts as t1')
->leftJoin('users as t2','t1.post_user_id=t2.user_id')
->leftJoin('post_images as t3','t3.image_post_id=t1.post_id')
->leftJoin('comments as t4', 't1.post_id=t4.comment_post_id')
->rightJoin('post_favorites as t5', 't1.post_id=t5.favorite_post_id')
->select('t1.*,t3.image_src,t4.*,t5.*')
->Where('t2.email_address','=',$email)
->Where('t1.post_status','!=','0')
->Where('t1.post_status','=',$typeId)
->getAll();
}

Cevaplar (2)


Turan Karatuğ
Software Developer - Creator of TitanMVC
3 ay önce

Select bölümünde COUNT() fonksiyonunu kullanarak kayıt sayısını bulabilirsiniz. Bu durumda sorguya bir de GROUP BY eklemeniz gerekecektir.
public function user_posts($email,$profileId,$typeId)
{
return DB::table('posts as t1')
->leftJoin('users as t2','t1.post_user_id=t2.user_id')
->leftJoin('post_images as t3','t3.image_post_id=t1.post_id')
->leftJoin('comments as t4', 't1.post_id=t4.comment_post_id')
->rightJoin('post_favorites as t5', 't1.post_id=t5.favorite_post_id')
->select('t1.*, t3.image_src, COUNT(t4.comment_id) as commentCount, COUNT(t5.favorite_id) as favoriteCount')
->where('t2.email_address','=',$email)
->where('t1.post_status','!=','0')
->where('t1.post_status','=',$typeId)
->groupBy('t1.post_id')
->getAll();
}
Uğur Türkmen
Web Developer
3 ay önce

Çok teşekkür ederim, deneyeceğim

Cevap Yazın


[code=php,css,sql]kod[/code] , [url=http:...com] , [img=imaj linki] , [color=renk_kodu]metin[/color]