#php #laravel #laravel-blade #explode #laravel-8
#php #laravel #laravel-blade #взорвать #laravel-8
Вопрос:
В форме create post я сохраняю данные в базе данных, используя функцию implode, потому что данные были в массиве
$this->posts->optional_info = implode(" ",$input['optional_info']);
теперь в форме редактирования я хочу, чтобы данные, хранящиеся в базе данных, были проверены по умолчанию в представлении
итак, я пытаюсь, как
<div class="row">
@foreach($customArray['optional'] as $key => $value)
<div class="col-md-4 pl-1 pr-1 col-6">
<div class="cstm-check pos-rel">
<input type="checkbox" name="optional_info[]"
{{old('optional_info[]',explode(" ",$posts->optional_info)) == $key ? 'checked' : ''}}
value="{{$value}}" id="{{ __($key) }}" />
<label for="{{ __($key) }}" class="">{{ __($value) }}</label>
</div>
</div>
@endforeach
где $CustomArray[‘необязательно’] содержит
'optional'=>[
'FLOATER'=>'Floater',
'DROP_IN'=>'Drop In',
'CUTBACK'=>'Cutback',
'AIR'=>'Air',
'BARREL_ROLL'=>'Barrel Roll',
'SNAP'=>'Snap',
'360'=>'360',
'WIPEOUT'=>'Wipeout',
],
я просто хочу, чтобы значения взрывались и сопоставлялись с каждым ключом и проверялись при значении true. пожалуйста, помогите мне. заранее спасибо
Ответ №1:
Мой подход был бы примерно таким:
<div class="row">
@foreach($customArray['optional'] as $key => $value)
<div class="col-md-4 pl-1 pr-1 col-6">
<div class="cstm-check pos-rel">
<input type="checkbox" name="optional_info[]"
{{ (in_array($key, old('optional_info[]', explode(" ",$posts->optional_info))) ? 'checked' : '' }}
value="{{$value}}" id="{{ __($key) }}" />
<label for="{{ __($key) }}" class="">{{ __($value) }}</label>
</div>
</div>
@endforeach
</div>