繁体   English   中英

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM