laravel-admin多对多实现

参考:https://learnku.com/laravel/t/13582/does-laravel-admin-increase-the-association-table-question

laravel-admin就不细说了,就是一个针对laravel的后台管理框架,有点类似于yii2的生成后台。

在两个模型中写好对应关系

class Article extends Model
{
    public function tags()
    {
        return $this->belongsToMany(Tag::class);
    }
}

class Tags extends Model
{
    public function blogs()
    {
        return $this->belongsToMany(Blog::class,foreignKey,ownerKey,'join');// 后面三个参数可选 
    }
}

中间表不用管

return Admin::grid(Article::class, function (Grid $grid) {
    $grid->id('ID')->sortable();
    $grid->title();
    $grid->content();

    $grid-> tags()->display(function ($tags) {

        $res = array_map(function ($tag) {
            return "<span class='label label-success'>{$tag['name']}</span>";
        }, $tags);

        return join(' ', $res);
    });

});
posted @ 2019-11-14 13:30  蜗牛使劲冲  阅读(18)  评论(0)    收藏  举报  来源