为了账号安全,请及时绑定邮箱和手机立即绑定

未定义索引:laravel 中的 expiry_date

未定义索引:laravel 中的 expiry_date

PHP
慕虎7371278 2022-10-14 15:11:09
我正在尝试从 laravel 中的 created_at 向用户获取到期日期我正在使用碳,但是当我提交表单时它会给出此消息“未定义索引:到期日期**为什么???我如何计算 1 天到期日期当前日期(create_at)我的注册控制器代码是<?php namespace App\Http\Controllers\Auth; use App\User; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Foundation\Auth\RegistersUsers; use Carbon\Carbon; class RegisterController extends Controller{use RegistersUsers;protected $redirectTo = '/dashboard';public function __construct(){    $this->middleware('guest');}protected function validator(array $data){    return Validator::make($data, [        'name' => ['required', 'string', 'max:255'],        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],        'password' => ['required', 'string', 'min:8', 'confirmed'],        'phone' => ['required', 'string'],        'country' => ['required', 'string'],        'state' => ['required', 'string'],        'purpose' => ['required', 'string'],        'package' => ['required', 'string'],        'months' => ['required', 'string'],        'quantity' => ['required', 'string'],        'amount' => ['required', 'string'],    ]);}protected function create(array $data){    return User::create([        'name' => $data['name'],        'email' => $data['email'],        'password' => Hash::make($data['password']),        'phone' => $data['phone'],        'country' => $data['country'],        'state' => $data['state'],        'purpose' => $data['purpose'],        'expiry_date' => Carbon::now()->addHours($data['expiry_date']),          //'package' => $data['package'],       // 'months' => $data['months'],        //'quantity' => $data['quantity'],        //'amount' => $data['amount'],    ]);}}请帮我。解决这个问题以及我如何从当前日期计算一个数据的用户到期时间
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

你没有expiry_datefrom request(),因为它没有定义在Validator.


您需要添加expiry_date:


解决方案#1

return Validator::make($data, [

    'name'        => ['required', 'string', 'max:255'],

    'email'       => ['required', 'string', 'email', 'max:255', 'unique:users'],

    'password'    => ['required', 'string', 'min:8', 'confirmed'],

    'phone'       => ['required', 'string'],

    'country'     => ['required', 'string'],

    'state'       => ['required', 'string'],

    'purpose'     => ['required', 'string'],

    'package'     => ['required', 'string'],

    'months'      => ['required', 'string'],

    'quantity'    => ['required', 'string'],

    'amount'      => ['required', 'string'],

    'expire_date' => ['YOUR RULES'],         // <----------

]);

解决方案#2

或者,如果您想定义expire_date1 天到期now(),您应该:


return User::create([

    'name'        => $data['name'],

    'email'       => $data['email'],

    'password'    => Hash::make($data['password']),

    'phone'       => $data['phone'],

    'country'     => $data['country'],

    'state'       => $data['state'],

    'purpose'     => $data['purpose'],

    'expiry_date' => Carbon::now()->addDay(),

]);


查看完整回答
反对 回复 2022-10-14
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

似乎您的请求中没有到期日期。所以首先尝试打印expiry_date的值。

如果它不存在,请检查您的请求。

您还可以使用当前日期,例如

'expiry_date' => Carbon\Carbon::now()

或者在 PHP 中你可以这样做

'expiry_date' => date('Y-m-d H:i:s');


查看完整回答
反对 回复 2022-10-14
  • 2 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号