php – 如何在Laravel中自定义日期变更器?
发布时间:2020-12-14 19:36:44 所属栏目:大数据 来源:网络整理
导读:我在我的数据库中创建了一些日期时间字段,正如Laravel文档中所述,我可以“自定义哪些字段会自动变异”.然而,没有示例显示如何完成,也没有任何搜索结果.我应该怎么做才能使某些字段自动变异? 例如,我在迁移中创建了一个名为“people”的表,其中一个字段定义
我在我的数据库中创建了一些日期时间字段,正如Laravel文档中所述,我可以“自定义哪些字段会自动变异”.然而,没有示例显示如何完成,也没有任何搜索结果.我应该怎么做才能使某些字段自动变异?
例如,我在迁移中创建了一个名为“people”的表,其中一个字段定义如下: class CreatePeopleTable extends Migration { public function up(){ Schema::create("bookings",function($table){ ... $table->dateTime("birthday"); ... } } } 我在模型中为“人”定义了一个模型: class People extends Eloquent{ //nothing here } 如果我引用People实例的生日,它将是字符串,而不是DateTime $one=People::find(1); var_dump($one->birthday); //String 日期变更器应该能够将它直接转换为Carbon对象,但是文档并没有说明应该如何实现它. 解决方法
在您的People模型中,只需添加此数组:
protected $dates = array('birthday'); Laravel的Model.php internaly将您的字段与默认字段合并,如下所示: /** * Get the attributes that should be converted to dates. * * @return array */ public function getDates() { $defaults = array(static::CREATED_AT,static::UPDATED_AT,static::DELETED_AT); return array_merge($this->dates,$defaults); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |