Я довольно новичок в Laravel.LARAVEL 5: Подтвердить данные JSON для уникальности перед сохранением в базе данных
Я пытаюсь извлечь некоторые данные пользователя из удаленного места в качестве JSON. Вот код в моем контроллере для получения данных JSON.
public function fetch()
{
$url = 'http://example.com'; //fetching data as JSON
$json = json_decode(file_get_contents($url), true);
$this->save($json);
}
У меня есть модель User Model, соответствующая таблице моих пользователей. Столбцы электронной почты и телефона устанавливаются как уникальные в таблице базы данных.
class User extends Model {
protected $fillable = [
'name',
'email',
'phone'
];
}
Функция Сохранить в том же контроллере
private function save($json)
{
foreach ($json as $key => $value)
{
$user = User::create([
'name' => $value['name'],
'email' => $value['email'],
'phone' => $value['phone']
]);
}
}
спасброска отлично работает до тех пор, как электронная почта и телефон являются уникальными. Если нет, то он бросает неприятную QueryException
SQLSTATE [23000]: Integrity нарушение ограничения: 1062 Дублированный запись ...
Есть ли способ, чтобы проверить данные на уникальность, прежде чем пытаться сохранить в база данных?