Компонент окна выбора не работает в формате представления в laravel

У меня логическая ошибка в laravel в компоненте вида. Я создал один блок выбора и по его значению получаю его из таблицы базы данных. При просмотре кода отображается только последнее значение таблицы.
Здесь я приложил свой файл компонента и просмотр файла.

Мой файл просмотра: newuphist.blade.php

@if(isset($data))
<div class="field_wrapper">

@component('compnew')
@slot('select')
select

@foreach($data as $item)

@slot('opt')
{{$item->diseaseName}}
@endslot
@endforeach

@endslot

@slot('txtbx')
MM
@endslot
@endcomponent

@endif

и мой файл компонента: compnew.blade.php

<select name="{{ $select }}"  value="{{ $select }}" >
<option name="{{$opt}}" value="{{$opt}}">{{$opt}}</option>
</select>
<input type="text" name="{{$txtbx}}" value="{{$txtbx}}">

Кто-то, пожалуйста, помогите мне узнать, как я могу отобразить все значения в поле выбора.
Заранее спасибо.

0

Решение

Вы должны передать компонент в foreach, и тогда вы попробуете его.

@if(isset($data))
<div class="field_wrapper">

@foreach($data as $item)
@component('compnew')
@slot('select')
select
@slot('opt')
{{$item->diseaseName}}
@endslot
@endslot
@slot('txtbx')
MM
@endslot
@endcomponent
@endforeach
@endif
0

Другие решения

Узнав об основах Laravel, я нашел ответ.

@if(isset($data))
<div class="field_wrapper">

@component('compnew',['select'=>'select','txtbx'=>'MM'])
@slot('opt')
@foreach($data as $item)
<option value="{{$item->diseaseName}}">
{{$item->diseaseName}}
</option>
@endforeach
@endslot
@endcomponent
@endif

Мой компонентный файл:

<select name="{{!empty($select) ? $select : '' }}"  value="{{!empty($select) ? $select : '' }}" >
{{!empty($opt) ? $opt : '' }}

</select>
<input type="text" name="{{!empty($txtbx) ? $txtbx : '' }}" value="{{!empty($txtbx) ? $txtbx : '' }}">
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector