Array of values to be saved by multiple selection of checkbox

Viewed 25

There is a system developed with Laravel, and I would like to store multiple selected data in the conditions column using the implode function. Currently, it is saved as shown in the image below.
I want to save data in a form like "1,2,3,4" using the implode function.
How can I achieve what I want?

In shops Table

**Code
ShopController.php


    public function store(Request $request)
    {
        $param = $request->except([
            'logo',
            'image1',
            'image2',
            'image3',
            'image4',
            'image5',
            'logo_cache',
            'image_cache1',
            'image_cache2',
            'image_cache3',
            'image_cache4',
            'image_cache5',
        ]);

        if ($request->filled('logo_cache')) {
            $param['logo'] = $request['logo_cache'];
        } else {
            if (!$validator->errors()->has('logo') && $request->has('logo')) {
                $path = $request['logo']->store('public/'.config('constants.UPLOAD_IMG_SHOP'));
                $filename = basename($path);
                $param['logo'] = $filename;
                $request['logo_cache'] = $filename;
            } else {
                $param['logo'] = null;
            }
        }

        for ($i = 1; $i <= config('constants.SHOP_IMAGES_MAX'); $i++) {
            if ($request->filled('image_cache'.$i)) {
                $param['image'.$i] = $request['image_cache'.$i];
            } else {
                if (!$validator->errors()->has('image'.$i) && $request->has('image'.$i)) {
                    $path = $request['image'.$i]->store('public/'.config('constants.UPLOAD_IMG_SHOP'));
                    $filename = basename($path);
                    $param['image'.$i] = $filename;
                    $request['image_cache'.$i] = $filename;
                } else {
                    $param['image'.$i] = null;
                }
            }
        }

        //Add code
        if ($request->filled('conditions')) {
            $param['conditions'] = implode(",", $request['conditions']);
        }

        if ($validator->fails()) {
            return redirect('/shop/create')
                        ->withErrors($validator)
                        ->withInput();
        }

        $param['area_id'] = Auth::user()->area_id;

        Shop::create($param);

        session()->flash('alert_message', config('constants.ALERT.SUCCESS_CREATE'));
        session()->flash('alert_style', 'success');

        return redirect()->route('admin.shop.index');
    }

edit.blade.php

                <tr>
                    <th>Conditions</th>
                    <td>
                        <div class="c-form__check c-form__check_inline">
                            @foreach(config('constants.FORM.SHOP_CONDITIONS') as $key => $value)
                            <label><input type="checkbox" name="conditions[]" value="{{ $key }}" {{ old('conditions', $shop->conditions) == $key ? 'checked' : '' }}> {{ $value }}</label>
                            @endforeach
                        </div>
                    </td>
                </tr>
0 Answers
Related