Laravel 5.5雄辩的小组基于多对多关系

时间:2018-11-21 03:43:08

标签: php laravel

例如,我需要输入tags的名称,并且每个categories都不要重复

这里是我的model

Post.php

class Posts extends Model
{
    public function category()
    {
        return $this->belongsTo(Category::class);
    }

    public function tags() : belongsToMany
    {
    return $this->belongsToMany(Tag::class, 'post_tag', 'post_id', 'tag_id');
    }
}

Category.php

class Category extends Model
{
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

Tag.php

class Tag extends Model
{
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

这就是我的工作。

Category::with(['posts.tags' => function($query){
        $query->groupBy('name'); // i need show tags name and group it, so its will not duplcate
    }])->get();

$query->groupBy('name');名称是tags名称。

示例

Categpry A
|__Title A
   |__Tag A
   |__Tag B
   |__Tag C
   |__Tag D
|__Title B
   |__Tag A
   |__Tag D
   |__Tag E

结果必须为Tag A, Tag B, Tag C, Tag D, Tag E,我现在不知道如何解决,有解决方案吗?...

谢谢!

0 个答案:

没有答案