将一个分号分隔的输入值上传到数据库。

时间:2018-09-07 07:22:17

标签: php laravel

所以我有这个输入

<input name="tags" class="form-control" type="text" id="tags" placeholder="separate multiple tags by semi-colon ;"/>

例如,我输入的是Apple; Mango 那么Tags表中将有两个新行,两个不同的uuid。

这是我的商店代码:

  foreach ($request->input('tags', ;) as $tag_val){
            $tag = Tag::firstOrCreate([
                'name' => $tag_val
            ]);
        }

如果标签名称已经存在,它将不会保存到数据库。

我认为我的代码不正确,因为它返回错误:unexpected ;

1 个答案:

答案 0 :(得分:2)

 foreach (explode( ';',$request->input('tags')) as $tag_val){
            $tag = Tag::firstOrCreate([
                'name' => $tag_val
            ]);
        }

您遇到语法错误,然后将其转换为数组,然后在数组上循环。

还要确保将其包装到if中,以免发生异常

if($request->input('tags')){
foreach (explode( ';',$request->input('tags')) as $tag_val){
            $tag = Tag::firstOrCreate([
                'name' => $tag_val
            ]);
        }
}