Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.06.2021 13:27:06

Как данные из одной формы отправить на три таблицу базы данных

Есть форма для создания тестов с динамическими полями

<form action="{{ route('testy.store') }}" method="POST" enctype="multipart/form-data">
    @csrf
    <div class="card-header shapka_testa">
        <div class="form-group">
            <label>Название теста</label>
            <input type="text" name="title" class="form-control" placeholder="Введите название теста" required>
            <label>Описание теста</label>
            <textarea type="text" name="opisanye" class="form-control" placeholder="Введите описание теста" required></textarea>
            <label>Время (максимум 180 мин.)</label>
            <input type="number" pattern="\d+" name="time" min="1" max="180" value="30" name="title" class="form-control" required>                          
        </div>
    </div>
    <div class="container-fluid card-body">
        <div class="row batman-picture">
            // динамическое поле
                <a class="col-lg-6" id="fieldset">                                   
                    <div class="card card-primary">
                        <div class="card-header">
                            <input type="file" class="upload" id="rebate_image" name="rebate_image[]" readonly="" required title="Нажмите чтобы загрузить картинку теста">
                        </div>
                        <div class="card-footer">
                            <div class="col">
                                <input type="radio" name="otvety[]" id="r1">
                                <input type="text" name="varianty[]" value="A" class="form-control" readonly="">
                            </div>
                            <div class="col">
                                <input type="radio" name="otvety[]" id="r2">
                                <input type="text" name="varianty[]" value="Б" class="form-control" readonly="">
                            </div>
                            <div class="col">
                                <input type="radio" name="otvety[]" id="r3">
                                <input type="text" name="varianty[]" value="В" class="form-control" readonly="">
                             </div>
                            <div class="col">
                                <input type="radio" name="otvety[]" id="r4">
                                <input type="text" name="varianty[]" value="Г" class="form-control" readonly="">
                            </div>
                        </div>
                    </div>
                </a>
            // динамическое поле
        </div>
        <button type="button" name="add" id="btnAddressAdd" class="btn btn-success btn-lg btn-block nomer_testa"><i class="fas fa-plus"></i> Добавить вопрос</button>
    </div>
    <div class="card-footer shapka_testa d-grid gap-2 d-md-flex justify-content-md-end">
        <button type="submit" class="btn btn-primary izmenit_name"><i class="fas fa-save"></i> Сохранить тест</button>
    </div>
</form>

Контроллер: class TestyController extends Controller

public function store(Request $request)
    {
     
        return redirect('admin_panel/testy')->withSuccess('Тест была успешно добавлена!');
    }

И три таблицы в базе данных:
   1) testies с полями title, opisanye и time
   2) test_voprosies c полями test_title_id и rebate_image
   3) test_otveties с полями rebate_img_id, varianty и otvety
Каждый вопрос имеет 4 варианта.

Как сохранить в базу данных, не могу написать TestyController и модел Testy. Использую ларавел 8

Изменено Ilgiz (15.06.2021 13:29:03)

Не в сети

#2 18.06.2021 12:59:56

Re: Как данные из одной формы отправить на три таблицу базы данных

Если я правильно понимаю о чем идет речь, то у вас тут простые отношения один ко многим. Прочитайте в документации как осуществить данную связь. Что конкретно у вас не получается сделать? Не видно ваших наработок. И до конца не понятно что делает эта форма. Вы хотите в нее вводить вопросы на которые потом будут отвечать пользователи? Либо пользователь отвечает на уже существующие вопросы?

Не в сети

Подвал раздела