![](/img/trans.png)
[英]How to check if record is already exists and then update or insert in laravel?
[英]Laravel - How to check if date is already exists?
有我的桌子:
- fortress -
- id -
- date -
就我而言,我只想检查:
if ($date > Carbon::today())
{
// Create a record
}
然后我只想创建一个记录,我需要检查如下内容:
if ($date > Carbon::today() && and exists)
{
}
只是我知道如何检查日期是否大于今天。 但是现在当我按下按钮 2 次时,它会创建两个记录。 我需要检查日期是否大于今天以及它是否已经存在。
这是我写的code,看用户名是不是提前保存在user表里了。 如果你想检查更多的数据
->where('userName',$request->userName)
在此 where 条件中添加。
控制器代码
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\DB;
use Hash;
class UserController extends Controller
{
public function alreadyExistUserName(Request $request) {
$user = DB::table('user')
->where('userName',$request->userName)
->first();
if($user === null )
return response()->json('false', 200);
else
return response()->json('true', 200);
}
}
接口代码
Route::post('alreadyExistUserName', 'UserController@alreadyExistUserName');
在这种情况下,如果您已经有数据而不是“真”,那么您将数据发布到将得到输出为“假”。
如果您使用 $request 对象,则可以使用 Laravel 验证:
$validatedData = $request->validate([
'date' => 'required|unique:your_table|date|after:now',
// ... other validation rules
]);
或者您可以简单地使用查询:
$dateExists = YourModel::where('date', $date)->first();
if ($dateExists) {
// ....
}
Laravel 验证
'name' => [
'required',
'string',
'min:3',
Rule::unique('products')->where(function ($query) {
return $query->where('store_id', $store_id);
})->whereNull('deleted_at'),
],
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.