如何检查记录是否存在于laravel?
How to check if the record is exist in laravel?
我有一个问题,我不知道我的代码有什么问题,我试图找出我要插入数据库的数据是否存在,如果不存在我想插入它。但问题是我无法插入数据,即使它不存在于数据库中。这是我的代码:
$data_pemohon = DB::table('data_pemohon')->select('*')->where('noper', $noper)->get();
if(is_null($data_pemohon)){
$tambah_data_pemohon = DB::table('data_pemohon')->insert($data);
}else{
echo "the data is exist!";
}
请帮帮我。谢谢。
$data_pemohon = DB::table('data_pemohon')->where('noper', $noper)->exists();
if(!$data_pemohon){
$tambah_data_pemohon = DB::table('data_pemohon')->insert($data);
}else{
echo "the data is exist!";
}
->get()方法return集合(即使是空的),所以要改成->first() (如果未找到 => return null)或者您可以使用 if(count($data_pemohon) === 0) 检查您的情况然后插入
这可能与您的问题无关,但我建议您使用'unique' validation rule。
一个非常简单的用法是这样的:
$validator = Validator::make($data, [
'noper' => 'unique:data_pemohon:noper',
]);
if ($validator->fails()) {
// ... Handle the error
}
// ...Insert your data
我建议阅读文档以更好地了解 Laravel 的验证过程。
我有一个问题,我不知道我的代码有什么问题,我试图找出我要插入数据库的数据是否存在,如果不存在我想插入它。但问题是我无法插入数据,即使它不存在于数据库中。这是我的代码:
$data_pemohon = DB::table('data_pemohon')->select('*')->where('noper', $noper)->get();
if(is_null($data_pemohon)){
$tambah_data_pemohon = DB::table('data_pemohon')->insert($data);
}else{
echo "the data is exist!";
}
请帮帮我。谢谢。
$data_pemohon = DB::table('data_pemohon')->where('noper', $noper)->exists();
if(!$data_pemohon){
$tambah_data_pemohon = DB::table('data_pemohon')->insert($data);
}else{
echo "the data is exist!";
}
->get()方法return集合(即使是空的),所以要改成->first() (如果未找到 => return null)或者您可以使用 if(count($data_pemohon) === 0) 检查您的情况然后插入
这可能与您的问题无关,但我建议您使用'unique' validation rule。 一个非常简单的用法是这样的:
$validator = Validator::make($data, [
'noper' => 'unique:data_pemohon:noper',
]);
if ($validator->fails()) {
// ... Handle the error
}
// ...Insert your data
我建议阅读文档以更好地了解 Laravel 的验证过程。