Вставить данные в две таблицы с отношением Laravel - PullRequest
0 голосов
/ 26 февраля 2020

Я хочу вставить с формой в две таблицы, связанные с внешним ключом,

Сначала вам нужно создать заказ с именем клиента, а затем перенаправить на следующую форму, чтобы вставить несколько статей.

Вот как создаются мои таблицы:

Schema::create('returnorders', function (Blueprint $table) {
            $table->increments('id');
            $table->string('firmaname');
            $table->string('contacperson');
            $table->string('email')->unique();
            $table->string('ordernumber');
            $table->string('customername');
            $table->timestamps();
        });

Schema::create('returnarticles', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('order_id')->unsigned();
            $table->foreign('order_id')->references('id')->on('returnorders');
            $table->string('articlenumber');
            $table->string('return_quantity');
            $table->string('return_quality');
            $table->string('return_reason');
            $table->string('images');
        });

Мой вопрос сейчас, могу ли я сделать одну форму, где я могу разместить несколько статей, или я должен сделать две формы, и что вы будете быть перенаправленным от первого к следующему?

Мой второй вопрос: могу ли я сделать это в одной функции в моем контроллере или я должен сделать две функции?

Помогите мне, пожалуйста, и если возможно, покажи мне, как сделать мою функцию.

Спасибо

1 Ответ

0 голосов
/ 26 февраля 2020

Если ваш вопрос заключается в том, как сохранить эти связанные модели, вам следует обратиться к документации по установке и обновлению связанных моделей:

Документация

Ваш код может выглядеть примерно так:

$returnOrder = ReturnOrder::create([
   'firmaname' => $validatedInput['firmaname'],
   'contactperson' => $validatedInput['contactperson'],
   ....
]);

$returnOrder->returnArticles()->save(ReturnArticle::create([
   'articlenumber' => $validatedInput['articleNumber'],
   ...
]));
...