未知的二传手'_date_time'碳/ Laravel 4

时间:2014-04-30 16:59:30

标签: laravel laravel-4 hhvm

我在HHVM下安装了laravel 4,并且在我雄辩的转换日期设置为从SQL日期到人类的附件。

做类似的事情:

public function getDateSpanAttribute($value)
{
      return $value = \Carbon\Carbon::createFromFormat('Y-m-d H:i:s',$this->created_at)->diffForHumans();
}

这个方法在php5下运行良好,没有错误就行了。在HHVM这个配件给我一个例外,

  

{" error":{" type":" InvalidArgumentException"," message":" Unknown setter   ' _date_time'""文件":" /var/www/mynextmatch/vendor/nesbot/carbon/src/Carbon/Carbon.php" ;, "线" 542}}

我在那一行看到了Carbon的来源,这是一个神奇的方法__get()来解决这个问题,但我无法弄清楚它为什么会发生。

我将不胜感激。感谢

2 个答案:

答案 0 :(得分:0)

不确定HHVM上的错误,但有一件事是确保accessor方法不包含任何参数,它应该是(Manual):

public function getDateSpanAttribute()
{
      return \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $this->created_at)->diffForHumans();
}

你只需要返回property没有设置任何东西,如果你想设置任何东西,那么它将是一个setter/mutator方法,它将一个值作为参数。

答案 1 :(得分:0)

我遇到了同样的问题,但认为我的登录后创建了一个会话创建( InvalidArgumentException未知的setter'_date_time')。我的安装在运行Ubuntu 14.04的HHVM 3.1上。我使用Ubuntu 12.04进行相同的设置,但没有这个问题。

10. InvalidArgumentException
…/­vendor/­nesbot/­carbon/­src/­Carbon/­Carbon.php542
9. Carbon\Carbon __set
<#unknown>0
8. DateTime __sleep
<#unknown>0
7. serialize
…/­vendor/­laravel/­framework/­src/­Illuminate/­Session/­Store.php222
6. Illuminate\Session\Store save
…/­vendor/­laravel/­framework/­src/­Illuminate/­Session/­Middleware.php126