Как обновить и удалять записи в таблице на основе нового запроса?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как обновить и удалять записи в таблице на основе нового запроса?

Сообщение Anonymous »

Мне нужно обновить записи для этапов руководства (каждый рецепт имеет шаги/инструкцию, и моя таблица была создана для хранения этих данных)
Я смог создать эти записи в БД с довольно простым синтаксисом:

Код: Выделить всё

GuideStep::insert($groupedSteps); // $groupedSteps is an array
< /code>
Но теперь мне нужно обновить эти записи (и удалить ненужные), на этот момент я придумал логику, которая может обновлять записи или создавать только в том случае, если нет таких записей: < /p>
foreach ($groupedSteps as $step){
GuideStep::updateOrInsert(
['recipe_id' => $recipeId, 'step_number' => $step['step_number']],
['step_text' => $step['step_text'], 'step_image' => $step['step_image']]
);
}
< /code>
миграция: < /p>
Schema::create('guide_steps', function (Blueprint $table) {
$table->id();
$table->foreignId('recipe_id')->constrained()->cascadeOnDelete();
$table->integer('step_number');
$table->text('step_text');
$table->string('step_image')->default('recipes-images/default/default_photo.png');
$table->timestamps();
});
Я думал, что смогу использовать upsert () , но этот метод требует уникальных столбцов (у меня нет их)
Будьте благодарны за некоторые советы

Подробнее здесь: https://stackoverflow.com/questions/795 ... ew-request
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»