雄辩模型使用时间字段

问题描述 投票:0回答:1

我有只包含时间数据库字段,它在我的移民为被声明

$table->time('time')->default('00:00:00');

现在我想的秒数添加到使用口若悬河,做这样的事情领域:

$activetime->time->add(new DateInterval('PT5S'));

(其中$ activetime是锋模型的对象)

第一次尝试在此我

Call to a member function add() on string

所以,很显然我必须告诉能言善辩,这不是一个字符串,但一段时间。我已经得到的最接近是将它放在保护$日期在模型中,但后来反而我得到

Unexpected data found.

我怀疑这是因为它是不是一个真正的日期,但只有一段时间,但我似乎无法找到如何处理次多的信息。有没有解决这个任何方式或我会用别的东西,比如日期时间或时间戳(或者甚至几秒钟量的整数)会更好?我做什么,想记录的活动时间对于一个给定日期的用户量,因此对于该目的时间似乎是自然的选择...

laravel laravel-5 eloquent laravel-5.7
1个回答
1
投票

这是因为Laravel读取time数据库类型只是一个string和你期待一个DateTime Object

添加到您的雄辩型号:

public function getTimeAttribute($value)
{
    return new \DateTime($value);
}

您也可以投你time使用DateTime ObjectLaravel Attribute Casting,但你必须要追加一些日期到你的时间,因为Laravel期待正确的格式

© www.soinside.com 2019 - 2024. All rights reserved.