【问题标题】:Laravel: Converting m/d/Y to Y-m-d from jQuery UI Datepicker before saving to databaseLaravel:在保存到数据库之前从 jQuery UI Datepicker 将 m/d/Y 转换为 Y-m-d
【发布时间】:2021-04-14 04:10:09
【问题描述】:

我正在尝试将 jQuery UI datepicker 中的日期保存到数据库。

我想在输入表单中选择日期时以 m/d/Y 格式显示日期。

当我尝试将它保存到数据库时,它给出了以下错误: SQLSTATE[22007]:日期时间格式无效:1292 日期值不正确

我遵循了很多解决方案,但它对我不起作用。

我查看了这个link,虽然我正确地遵循了一切,但它仍然返回相同的错误。

控制器代码

    public function store(Request $request)
    {
        $user = Frontend::create($request->all());
    }

型号代码

class Frontend extends Model
{
    use HasFactory;

    protected $table = 'frontend';

    protected $fillable = ['date'];

    public function setDateAtttribute($date)
    {
        $this->attributes['date'] = Carbon::createFromFormat($date)->format('Y-m-d');
    }
}

config>app.php

'date_format' => 'm/d/Y',
'date_format_javascript' => 'mm/dd/yy',

我是新手,如果有人可以帮助我找到解决方案,那将是一个巨大的帮助。

【问题讨论】:

    标签: php jquery laravel datepicker jquery-ui-datepicker


    【解决方案1】:

    你试过这个方法吗

    $this->attributes['date'] = date("Y-m-d",strtotime($data));
    

    【讨论】:

      【解决方案2】:

      首先,Carbons 的 createFromFormat 方法有 2 个参数。 Carbon::createFromFormat($format, $time)

      如果您在模型上定义 $dates 属性,例如:

      class Frontend extends Model {
      
          protected $dates = [
              'date',
          ];
      }
      

      然后你不必担心格式化,你只需将 Carbon 实例传递给 $date 财产。 Eloquent 应该会自动以正确的格式保存。另外,当检索到任何记录时,您的 $date 也将是 Carbon 实例。

      【讨论】:

      • 非常感谢!它使用您的解决方案与 Malik Waqas 提供的解决方案结合使用。
      【解决方案3】:

      这是一个特定于您的 js 代码的代码:

      $('#datepicker').datepicker({ 
         dateFormat: 'Y-m-d',
      });
      

      【讨论】:

        【解决方案4】:

        您需要在setDateAtttribute()下进行更改 public function setDateAtttribute($date) { $this->attributes['date'] = Carbon::parse($date); }

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-05-16
          • 2023-03-08
          • 2021-03-09
          • 1970-01-01
          • 2011-10-24
          • 1970-01-01
          • 1970-01-01
          • 2012-07-21
          相关资源
          最近更新 更多