Laravel:如何在标签模型中创建唯一标签 [英] Laravel : how to create unique tag in tags model

查看:23
本文介绍了Laravel:如何在标签模型中创建唯一标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要为帖子创建标签.我不想保存标签重复,但是重复保存

I want create tag for posts . I don't want tags repetitions to be saved,But it is stored repeated

public function store(Request $request)
{
    $data = $request->all();
    $post = Post::create($data);
    if ($post && $post instanceof Post) {
        $tags = $request->input('tags');
        foreach ($tags as $tag){
                $newTag = Tag::create(['name'=>$tag]);
                $tags[] = $newTag->id;
        }
            $post->tags()->sync($tags);
        return redirect()->back();
    }
}

怎么办?

推荐答案

updateOrCreate 方法将帮助检查如果不存在,它将创建数据,并在数据库中已经存在的情况下进行更新

updateOrCreate method will help check It will create data if it not exists and update in case it already in db

Tag::updateOrCreate(['name'=>$tag]);

这篇关于Laravel:如何在标签模型中创建唯一标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆