我是Laravel的新手 .
我试图从远程位置获取一些用户数据作为JSON . 这是我的Controller中用于获取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类,它对应于我的users表 . 电子邮件和电话列在数据库表中设置为唯一 .
class User extends Model {
protected $fillable = [
'name',
'email',
'phone'
];
}
保存功能在同一个Controller中
private function save($json)
{
foreach ($json as $key => $value)
{
$user = User::create([
'name' => $value['name'],
'email' => $value['email'],
'phone' => $value['phone']
]);
}
}
只要电子邮件和电话是唯一的,保存就可以正常工作 . 如果没有,它会引发一个令人讨厌的QueryException
SQLSTATE [23000]:完整性约束违规:1062重复输入...
在尝试保存到数据库之前,有没有办法验证数据的唯一性?
1 回答
使用Validator类解析了here