Как избежать дублирования записей в базе данных с помощью вставки в Laravel?Php

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

Сообщение Anonymous »

Я работаю над проектом, разработанным в Laravel 4.2, где у меня есть массив записей, которые мне нужно вставить в базу данных с помощью встроенной функции Insert(). Однако мне также необходимо обновить существующие записи, если они уже существуют в базе данных. Может ли кто-нибудь дать рекомендации о том, как этого добиться? Ниже приведен пример моего кода:

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

public static function followAllUsers($user_data) {
$responce = array();
$data = array();
foreach ($user_data['following_id'] as $key => $value) {
$following = UserBussinessLogic::checkAndValidateUser($value);
if ($following != true) {
$responce = Utility::Responce('invalid_user', FALSE, $value);
break;
} else {
if (FriendBussinessLogic::isAlreadyFollowed($user_data['id'], $value)) {
continue;
}
$data[] = array('follower_id' => $user_data['id'], 'following_id' => $value, 'created_at' => date('Y-m-d H:i:s'));
$followData['notifyAbleUsers'][] = $value;
}
}
if ($following) {
if (!empty($data)) {
if (Friend::insert($data)) {
$followData['created_at'] = date('Y-m-d H:i:s');
$followData['follower_id'] = $user_data['id'];
$responce = Utility::Responce('friend_followed', TRUE, $followData);
} else {
$responce = Utility::Responce('general_error', FALSE);
}
} else {
$responce = Utility::Responce('already_followed', TRUE);
}
}

return $responce;
}
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/438 ... in-laravel
Ответить

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

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

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

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

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