在Laravel 6上的字符串上调用成员函数addDays()

我具有存储功能。在存储功能中,我想使用carbon创建日期格式。您可以在此处查看此代码:

public function store_cuti(Request $request)
{
    $end = $request->tgl_mulai->addDays(3);

    $users = new Data_cuti;
    $users->user_id                 = $request->user_id ; // users_id
    $users->nama_surat        = $request->nama_surat ; 
    $users->tgl_surat              = $request->tgl_surat ;
    $users->durasi_cuti          = $request->durasi_cuti ; // this input is number integer like 1,2,3
    $users->tgl_mulai             = $request->tgl_mulai ; // this input is Date formate 
    $users->tgl_selesai           = $end; // it will going to date format too
    $users->status                  = $request->status ;

}

我这样做了,但是$end出现错误Call to a member function addDays() on string

我将此添加到了我的模型中

  protected $dates = ['tgl_mulai'];

但没有效果。怎么了?

bbcwch123 回答:在Laravel 6上的字符串上调用成员函数addDays()

模型的

tgl_mulai属性将转换为日期,但不是tgl_mulai的{​​{1}}属性,它是字符串,因此会出现上述错误。

您需要将字符串转换为一个碳实例,以在其上调用碳函数。

$request

Documentation

,

$request->tgl_mulai是一个字符串,并且试图说您不能在其上使用addDays()方法。此方法只能在Carbon对象上使用。解决方案很简单,只需从$request->tgl_mulai创建一个Carbon实例,然后再添加3天。

$end = new Carbon($request->tgl_mulai)->addDays(3);

然后将您的Carbon日期转换为这样的字符串。

$users->tgl_selesai = $end->toDateString(); // 1975-12-25

更多格式可以在官方Carbon文档中找到-https://carbon.nesbot.com/docs/#api-formatting

,

您可以使用Carbon将字符串转换为日期,在这种情况下,您可以尝试以下操作

<input directory="" webkitdirectory="" type="file"/>

然后,您还可以按期望的格式设置日期

 $end = Carbon::parse($request->tgl_mulai)->addDays(3);

有关更多信息,您可以查看Carbon

,

您还可以使用php date添加日期。

$end = date('Y-m-d',strtotime($request->tgl_mulai. ' + 3 days'));
本文链接:https://www.f2er.com/3169222.html

大家都在问