Задать вопрос

Как в тег Select по умолчанию задать массив?

Добрый день. Такой вопрос. Проект на Laravel. Есть форма, в ней select, где нужно выбрать одну из нескольких организаций, но также чтобы была возможность выбора сразу всех организаций и сохранить это все в БД.
С выбором 1 организации и сохранением все, выбирается, сохраняется. А вот если несколько..не могу понять как сделать.
Делал через обычные теги Select, так и через Laravel Collective.
Подскажите как запихать в поле все данные и сохранить их.
Контроллер:
public function create()
    {
        $title = 'Добавление нового терминала';
//        $allOrganization = Organization::all()->where('user_id', Auth::user()->id);

//        dd($allOrganization);
        $allTerminals = Terminal::all();
        $terminalOrganizationId = Organization::where('user_id', Auth::user()->id)->pluck('name', 'id')->all();
        $terminalOrganizationIdJson = json_encode($terminalOrganizationId);
//        dd($terminalOrganizationIdJson);
//        $terminalCashboxId = Cashbox::where('user_id', Auth::user()->id)->pluck('checking_account', 'id')->all();
        return view('client.terminals.create', compact('title', 'allTerminals',
            'terminalOrganizationId', 'allOrganization', 'terminalOrganizationIdJson'));
    }

    //Валидация полей и создание терминала в БД
    public function store(Request $request)
    {

        $this->validate($request, [
            'name' => 'required',
            'organization_id' => 'required',
            'password' => 'required|min:4',
            'confirmPassword' => 'required|same:password'
        ]);

        $terminal = new Terminal();
        $terminal->name = $request->name;
        $terminal->uuid = (string) Str::uuid();
        $terminal->organization_id = $request->organization_id;
//        $terminal->cashbox_id = $request->cashbox_id;
        $terminal->installation_address = $request->installation_address;
        $terminal->acquiring = $request->acquiring;
        $terminal->fiscalization = $request->fiscalization;
        $terminal->password = bcrypt($request->password);
//        $terminal->confirmPassword = bcrypt($request->confirmPassword);
        $terminal->user_id = Auth::user()->id;
            $terminal->save();


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


Вьюха:
{{--<div class="form-group form-group-add-terminal col-md-11">--}}
                            {{--<label for="organization_id">Организация</label>--}}
                            {{--{{Form::select('organization_id', $terminalOrganizationId, null,['placeholder' => 'Введите организацию', 'class' => 'form-control custom-select'])}}--}}
                        {{--</div>--}}

                        <div class="form-group form-group-add-terminal col-md-11">
                        <label for="organization_id">Организация</label>
                            <select class="form-control custom-select" name="country_id" >
                                <option>
                                {{$terminalOrganizationIdJson}}
                                </option>
                                @foreach($terminalOrganizationId as $item)
                                    <option >
                                        {{$item}}
                                    </option>
                                @endforeach
                            </select>
                        </div>
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 3
@kip_34
Хороший
Если я правильно понял, то вам нужно отношение "многие ко многим", чтобы была возможность выбора больше одной организации, нужна ещё одна табличка, в которой будет id терминала и id организации.
Ответ написан
Newn
@Newn
я правильно понял в форме html вам нужно сделать вывод всех организаций? А получается только 1?
Ответ написан
@Ordec
Сделайте опцию "All", и на сервере добавьте обработчик для него
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы