【问题标题】:How to resolve Array to String conversion error Laravel如何解决数组到字符串的转换错误 Laravel
【发布时间】:2020-10-17 20:58:34
【问题描述】:

我是 laravel 新手,在尝试发送标签选择表单数据以与我的博客表同步时遇到数组到字符串转换错误。

下面是从数据库中检索标签的blade sn-p

<div class="form-group">
   <label for="tag" class="control-label">Tags</label>
   {!! Form::select('tag[]', $tags, old('tag'), ['class' => 'form-control select2', 'multiple' => 'multiple', 'id' => 'add-tag' ]) !!}   
 </div>

博客控制器

$blog_data = request()->validate([
            'tag.*' => 'required'
    ]);

 blogs = Blog::create( $blog_data );  
     $blogs->tags()->sync((array)request()->input('tag'));
 

当我对 request()->tag 执行 dd 时

  array:2 [▼
  0 => "1"
  1 => "2"
]

【问题讨论】:

标签: laravel jquery-select2


【解决方案1】:

就这样使用

$blogs = Blog::create( $blog_data );  

如果插入则像这样使用

$blogs->tags()->attach($request->tag);

如果更新则像这样使用

$blogs->tags()->sync($request->tag);

【讨论】:

  • 感谢您的回复。我已经试过了,还是不行
  • 用于插入操作
  • @Alkari 那么你必须使用attach
  • $blogs->tags()->attach(request()->tag);这不起作用
  • @Alkari 这是多对多的关系,对吧?如果是,那么它应该可以工作。我使用这个代码最少 5 到 7 个项目。
【解决方案2】:

谢谢你,我能够删除这行代码并且它工作了

tag.*' => 'required'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-29
    • 2019-05-01
    • 2022-01-25
    • 2016-09-01
    • 1970-01-01
    相关资源
    最近更新 更多