Laravel Articles.php第22行中的FatalErrorException:调用未定义的方法Carbon\Carbon::createFormFormat()

Laravel Articles.php第22行中的FatalErrorException:调用未定义的方法Carbon\Carbon::createFormFormat(),laravel,Laravel,我在这个代码上得到错误,所以我从刀片开始,然后控制器,然后模块,请给我这个问题发生的原因的解决方案 刀片: @extends ('lay') @section('content') <h1>Write a New Article</h1> <hr> {!!Form::open(['url'=>'articles'])!!} <div class="form-group"> {!!Form::label('title','Title:')

我在这个代码上得到错误,所以我从刀片开始,然后控制器,然后模块,请给我这个问题发生的原因的解决方案

刀片:

@extends ('lay')
@section('content')

<h1>Write a New Article</h1>
<hr>

{!!Form::open(['url'=>'articles'])!!}

<div class="form-group">
{!!Form::label('title','Title:')!!}
{!!Form::text('title','',['class'=>'form-control'])!!}

</div>
<div class="form-group">
{!!Form::label('body','Body:')!!}
{!!Form::textarea('body','',['class'=>'form-control'])!!}

</div>

<div class="form-group">
{!!Form::label('published_at','Published on:')!!}
{!!Form::input('date','published_at',date('Y-m-d'),['class'=>'form-control'])!!}

</div>
<div class="form-group">
{!!Form::submit('Add Article',['class'=>'btn btn-primary form-control','name'=>'submit'])!!}
</div>

{!!Form::close()!!}

@stop
模型:这是我使用日期的模型,但它不起作用
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Articles extends Model {
    protected $fillable= [ 'title', 'body', 'published_at' ];

    public function setPublishedAtAttribute($date)
    {  
        $this->attributes['published_at'] = Carbon::createFormFormat('Y-m-d|', $date);
    }
}

看起来这是由一个小的打字错误引起的

您将
createformformformat
放在拼写
Form
的位置,而不是
中的

您只需在函数中更正此问题:

public function setPublishedAtAttribute($date)
{
    $this->attributes['published_at'] = Carbon::createFromFormat('Y-m-d', $date);
}
你可以用

 public function getPublishedAtAttribute($date){
        return Carbon::parse($date)->format('Y-m-d');
    }

    public function setPublishedAtAttribute($date){
        $this->attributes['published_at'] = Carbon::parse($date);
    }
代替

 public function setPublishedAtAttribute($date){
        //$this->attributes['published_at'] = Carbon::createFormFormat('Y-m-d', $date);
         return $this->attributes['published_at']->format('Y-m-d');
     }

你能给我推荐一些教程或者laravel教我的更详细的地方吗?因为这里有一些我在laracast中没有被清除的地方,比如从这个$date开始,我在php和laravel@AshwaniRathi我可以帮你看看,但是上面的方法对你有用吗?@AshwaniRathi该函数只是一个模型变异器。你可以在这里读到更多关于这些的信息。你有任何fb、twitter或类似的东西,这样我就可以经常问你问题吗?@AshwaniRathi很棒,考虑到这一点,你能接受答案并投票吗?至于联系我,只需通过这里的聊天一就可以了-
 public function setPublishedAtAttribute($date){
        //$this->attributes['published_at'] = Carbon::createFormFormat('Y-m-d', $date);
         return $this->attributes['published_at']->format('Y-m-d');
     }