我在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()
来解决这个问题,但我无法弄清楚它为什么会发生。
我将不胜感激。感谢
答案 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