2017-12-09 17 views
-2

laravelの複数のテーブルからデータを選択したいとします。どのように私はlaravelでこのようなクエリを行うことができますか? は、ここで私は改ページlaravelでこのクエリを実行する方法は?

$blog = DB::select("select blog_post.*,(select img_name from blog_image WHERE blog_image.bid=blog_post.bid limit 0,1) as img_name, 
    (SELECT count(*) FROM likes WHERE likes.bid =blog_post.bid) AS likes, 
    (SELECT count(*) FROM comment WHERE comment.bid =blog_post.bid) as comments , 
    (SELECT count(*) FROM blog_share WHERE blog_share.bid =blog_post.bid) as share 
    from blog_post WHERE status=1 AND is_draft=0 AND is_publish=1 AND is_delete=0")->paginate(2); 
+0

これまでに試したことを示してください。 – Camilo

答えて

2

それはかなり標準クエリだとlaravelで使用したい私のクエリです。まず、テーブルごとにモデルを作成し、モデルdefine relationshipsBlogPostモデルに作成する必要があります。

リレーションを数えるには、withCount()メソッドを使用します。

+0

私に例を教えてもらえますか? –

関連する問題