如何在laravel中将数组转换为字符串?

2022-08-30 21:03:30

我正在使用引导形式从数组中的复选框值中获取输入。我正在使用数组来存储复选框值。我如何将此数组转换为字符串。因为数据库只采用字符串值。

这是我的代码

<div class="form-group col-md-12">
    <div class="custom-control custom-checkbox custom-control-inline">
        <input type="checkbox" id="eduPrimary" name="education[]" 
        class="custom-control-input" value="primary" />
        <label class="custom-control-label" for="eduPrimary">primary</label>
    </div>
</div>
<div class="form-group col-md-12">
    <div class="custom-control custom-checkbox custom-control-inline">
        <input type="checkbox" id="eduSecondary" name="education[]" 
        class="custom-control-input" value="secondary" />
        <label class="custom-control-label" for="eduSecondary">secondary</label>
    </div>
</div>
<div class="form-group col-md-12">
    <div class="custom-control custom-checkbox custom-control-inline">
        <input type="checkbox" id="eduUniversity" name="education[]" 
        class="custom-control-input" value="university" />
        <label class="custom-control-label"for="eduUniversity">university</label>
    </div>
</div>

在后端,我正在使用laravel将值存储到数据库,但它运行错误,在mysql中存储数组到字符串。

public function store(Request $request,AdProfile $adprofile)
{
    $adprofile->education = $request->education[];
    $adprofile->save();
    return redirect()->route('adprofile.profilecomplete');
}

答案 1

你可以使用php来做到这一点,或者你也可以使用laravel集合。这里是示例implode

collect([1, 2, 3, 4, 5])->implode('-');

// '1-2-3-4-5'

查看此内爆的文档

或者你可以使用php函数内爆

看到这个

$arr = array('Hello','World!','Beautiful','Day!');
echo implode(" ",$arr);
//Hello World! Beautiful Day!

答案 2
 print_r($request->education); //It is an array print

$str_json = json_encode($request->education); //array to json string conversion
echo  $str_json; // printing json string

print_r(json_decode($str_json)); //printing array after convert json string to array

exit; // exiting further execution to check resutls

推荐