Php 如何检查日期是否已经存在?
这是我的桌子:Php 如何检查日期是否已经存在?,php,mysql,laravel,eloquent,orm,Php,Mysql,Laravel,Eloquent,Orm,这是我的桌子: - fortress - - id - - date - 就我而言,我只想检查一下: if ($date > Carbon::today()) { // Create a record } 然后我只需要创建一条记录,我需要检查如下内容: if ($date > Carbon::today() && and exists) { } 只是我知道如何检查日期是否大于今天。但现在,当我按下按钮两次时,它会创建两条记录。我需要检
- fortress -
- id -
- date -
就我而言,我只想检查一下:
if ($date > Carbon::today())
{
// Create a record
}
然后我只需要创建一条记录,我需要检查如下内容:
if ($date > Carbon::today() && and exists)
{
}
只是我知道如何检查日期是否大于今天。但现在,当我按下按钮两次时,它会创建两条记录。我需要检查日期是否大于今天以及是否已经存在。如果使用$request对象,则可以使用Laravel验证:
$validatedData = $request->validate([
'date' => 'required|unique:your_table|date|after:now',
// ... other validation rules
]);
或者,您可以简单地使用查询:
$dateExists = YourModel::where('date', $date)->first();
if ($dateExists) {
// ....
}
拉威尔验证
'name' => [
'required',
'string',
'min:3',
Rule::unique('products')->where(function ($query) {
return $query->where('store_id', $store_id);
})->whereNull('deleted_at'),
],
这是我编写的代码,用于查看用户名是否提前保存在用户表中。如果要检查更多数据
->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');
在这种情况下,如果您的表中已经有数据,而不是“True”,那么您将数据过帐到的结果将是“False”。您可以查询您的表并检查该日期是否已经存在,
$date
从何而来?这是输入字段吗?是的。它是我api中的输入字段