我想将created_at
日期转换为波斯日期。所以我实现getCreatedAtAttribute
了功能来做到这一点。因为我只是想在特殊情况下转换日期,所以我$convert_dates
在模型中声明了属性,默认值为false
.
class Posts extends Model {
public $convert_dates = false;
/**
* Always capitalize the first name when we retrieve it
*/
public function getCreatedAtAttribute($value) {
return $this->convert_dates? convert_date($value): $value;
}
}
$Model = new Posts;
$Model->convert_dates = true;
$post = $Model->first();
echo $post->created_at; // Isn't converted because $convert_dates is false
正如您在上面的代码中看到的那样,模型属性似乎将在 mutators 中重新初始化,因此 的值$convert_dates
总是false
。
有没有其他技巧或解决方案来解决这个问题?