Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查日期是否已经存在?_Php_Mysql_Laravel_Eloquent_Orm - Fatal编程技术网

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中的输入字段