【问题标题】:Get All the Posts Records For Specific Category Using Laravel使用 Laravel 获取特定类别的所有帖子记录
【发布时间】:2020-11-04 14:38:56
【问题描述】:

我有一张名为Posts 的表。该表包含一些字段和一个名为Category_id 的列,它是外键和数据类型。全部存储为JSON。每个Posts 表也有多个categories。例如,ANews Post'Breaking News''State News' 等。

我将categories ID 存储为JSONCategory_ID 列中。现在,我想获取属于某个特定类别的所有帖子。

示例图片:

从上图中,我想获取category_id = 3的所有Posts

【问题讨论】:

    标签: json laravel eloquent


    【解决方案1】:

    您可以在类别模型中执行此操作

    public function posts(){
       return Post::whereJsonContains('category_id', $this->attributes['id'])->with('category')->get();
    }
    

    在控制器中

    $category = Category::find(1);
    $category->posts();
    

    但是,这种结构的最好方法是拥有一个 laravel many to many relation

    【讨论】:

      【解决方案2】:

      您可以使用whereJsonContains

      例如:

      Post::whereJsonContains('category_id', '3')->get();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-20
        • 1970-01-01
        • 1970-01-01
        • 2016-08-05
        相关资源
        最近更新 更多