Laravel 5:以正确的方式将 implode() 与 Eloquent 结合使用

问题描述 投票:0回答:3

我有一个

checkbox
组,想要将它们作为
val
(1,2,3) 插入到我的数据库中。

这是我的刀片

<div class="form-group">
     @foreach($extra as $ext)
        <div class="checkbox">
           <label>
          {{ Form::checkbox('extra_services[]', $ext->id, null, ['class' => 'checkbox']) }}
          {!! $ext->title !!}
           </label>
        </div>
     @endforeach
</div>

这是控制器

    $temp->currency = $request->currency;
    $temp->implode($request->extra_services, ',');
    $temp->save();

我得到了

strtolower() 期望参数 1 为字符串,给定数组

将复选框值作为 (1, 2, 3) 插入数据库的正确方法是什么?

php laravel laravel-5 eloquent
3个回答
5
投票

你需要改变

$temp->implode($request->extra_services, ',');

$temp->extra_services = implode(',', $request->extra_services);


3
投票

我假设您想将值分配给

$temp->extra_services
。那么代码应该是

$temp->extra_services = collect($request->extra_services)->implode(',');

0
投票

$locations = implode(', ',Arr::pluck($business->locations, 'name'));

© www.soinside.com 2019 - 2024. All rights reserved.