如何从非关系表中获取post数据?

vd8tlhqk  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(238)

我用的是Laravel5.6。在我table下面
表:类别

+----+-----------+----------+
| id | name      |  slug    |
+----+-----------+----------+
|  1 | Cat1      | cat1     |
|  2 | Cat2      | cat2     |
|  3 | Cat3      | cat3     |
+----+-----------+----------+

表:员额

+----+----------+------------+----------+
| id | user_id  | name       |  photo   |
+----+----------+------------+----------+
|  1 | 1        | Post1      | img1.jpg |
|  2 | 2        | Post2      | img2.jpg |
|  3 | 1        | Post3      | img3.jpg |
|  4 | 1        | Post4      | img4.jpg |
+----+----------+------------+----------+

表:岗位类别

+----+----------+--------------+
| id | post_id  | category_id  |
+----+----------+--------------+
|  1 | 1        | 1            |
|  2 | 1        | 2            |
|  3 | 1        | 3            |
|  4 | 2        | 1            |
|  5 | 2        | 3            |
|  6 | 3        | 3            |
|  7 | 4        | 2            |
+----+----------+--------------+

上面我贴了我的3张table。这里是 post_categories 表关系 posts 以及 categories table。我想显示所有职位类别明智。下面是我的输出:

Cat1
   Post1
   Post2
Cat2
   Post1
   Post4
Cat3
   Post1
   Post2
   Post3

网址:
http://chhayalsing.com/blog
http://chhayalsing.com/blog/category/people
n、 如果你要读我们的当地语言。你能换一下语言吗 OdiaEnglish (更改语言选项存在于页脚部分) People 类别有8个职位。但这里展示了一切。我不知道这个问题。我试过:

$posts = Post::with([
    'user' => function($query) {
        $query->select(['id', 'username']);
    }, 
    'comments', 
    'post_category' => function($query) {
        $query->select(['id', 'name']);
    }
])->where('status', '=', 1)
->orderBy('id', 'DESC')->paginate($perPage);

我知道我的密码错了。但我对这个框架完全陌生。我做不到。你能给我提供一个查询页面来获取邮件列表吗。

thigvfpy

thigvfpy1#

你可以很容易地查询得到所有的分类 $cats = Cat::all() . 然后,使用循环获取每个类别的所有post $cat 把它推到你的孩子身上 $cats .
最后,您将只有一个元素(可能是 $cats ) . 它看起来是这样的: $cat = { items: array:2[ 1 => { "id": "1", "name": "cat1:, "post": array:3 [ 1 => post1 detail, 2 => post2 detail, 3 => post3 detail ] }, 2 => { "id": "2", "name": "cat2:, "post": array:2 [ 1 => post1 detail, 2 => post2 detail, ] } } 然后,在blade中,只使用$cats可以帮助您传递有关ifself的$cat和$post的所有数据。

相关问题