Laravel 9 Мультиобновление или вставка с помощью этой «магии


Laravel включает в себя Eloquent, объектно-реляционный маппер (ORM), который делает взаимодействие с базой данных приятным. При использовании Eloquent каждая таблица базы данных имеет соответствующую «Модель», которая используется для взаимодействия с этой таблицей. Помимо получения записей из таблицы базы данных, модели Eloquent позволяют вставлять, обновлять и удалять записи из таблицы.

Если вы хотите выполнить несколько «апсетов» в одном запросе, то вам следует использовать метод upsert. Первый аргумент метода состоит из значений, которые нужно вставить или обновить, а во втором аргументе перечисляются столбцы, которые однозначно идентифицируют записи в связанной таблице. Третий и последний аргумент метода представляет собой массив столбцов, которые должны быть обновлены, если соответствующая запись уже существует в базе данных. Метод upsert автоматически устанавливает метки времени created_at и updated_at, если метки времени включены в модели:

if(count($data) > 0) {
   $error = '';
}
PostNilai::upsert($data,['id','user_id','nilai_id','score_s1','score_s2','score_s3','score_s4','score_s5']);
return redirect(route('nilai'))->with('error', $error);

Вход в полноэкранный режим Выход из полноэкранного режима
смотреть полное руководство

https://youtu.be/eMBS80A2SzI

Оцените статью
Procodings.ru
Добавить комментарий