I am having multiple checkboxes in my form, and when I select some of them and submit form I get error 'Array to string conversion'. My database column user_preferences is type string so that is the reason of error. I just don't know how to insert multiple values in that column. Any help is appreciated. Here is my code.
UserController.php
public function update(StoreUserInfo $request, User $user)
{
//return $request->userPreferences;
if ( !($user->id == Auth::user()->id)) {
abort(404);
}
$request->validated();
$user->where('id', $user->id)->update(
[
'first_name' => $request->first_name,
'last_name' => $request->last_name,
'email' => $request->email,
'city' => $request->city,
'type' => $request->type,
'user_preferences' => $request->userPreferences,
'updated_at' => Carbon::now()
]
);
return redirect()->back()->with('message', 'User information updated');
}
edit.blade.php
<div class="row page-hero d-flex align-items-center justify-content-center">
<label for="preferences" class="text-center">Select your preferences</label>
</div>
<div class="row">
<div class="col-md-1" style="margin-right:15px; margin-left:60px;">
<div class="custom-control custom-checkbox">
<input id="kuca" name="userPreferences[]" value="kuca" type="checkbox" class="custom-control-input">
<label class="custom-control-label" for="kuca">Kuca</label>
</div>
</div>
<div class="col-md-1" style="margin-right:15px;">
<div class="custom-control custom-checkbox">
<input id="stan" name="userPreferences[]" value="stan" type="checkbox" class="custom-control-input">
<label class="custom-control-label" for="stan">Stan</label>
</div>
</div>
<div class="col-md-1" style="margin-right:50px;">
<div class="custom-control custom-checkbox">
<input id="apartman" name="userPreferences[]" value="apartman" type="checkbox" class="custom-control-input">
<label class="custom-control-label" for="apartman">Apartman</label>
</div>
</div>
<div class="col-md-1" style="margin-right:15px;">
<div class="custom-control custom-checkbox">
<input id="soba" name="userPreferences[]" value="soba" type="checkbox" class="custom-control-input">
<label class="custom-control-label" for="soba">Soba</label>
</div>
</div>
<div class="col-md-1" style="margin-right:15px;">
<div class="custom-control custom-checkbox">
<input id="lokal" name="userPreferences[]" value="lokal" type="checkbox" class="custom-control-input">
<label class="custom-control-label" for="lokal">Lokal</label>
</div>
</div>
<div class="col-md-1" style="margin-right:15px;">
<div class="custom-control custom-checkbox">
<input id="plac" name="userPreferences[]" value="plac" type="checkbox" class="custom-control-input">
<label class="custom-control-label" for="plac">Plac</label>
</div>
</div>
<div class="col-md-1" style="margin-right:15px;">
<div class="custom-control custom-checkbox">
<input id="garaza" name="userPreferences[]" value="garaza" type="checkbox" class="custom-control-input">
<label class="custom-control-label" for="garaza">Garaza</label>
</div>
</div>
</div>