我想將created_at
日期轉換爲波斯日期。所以我實現了getCreatedAtAttribute
函數來做到這一點。因爲我只想在特殊情況下轉換日期,所以我在模型中聲明$convert_dates
屬性,默認值爲false
。在Laravel Mutators中訪問模型屬性
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
正如你在代碼見上面,看來模特屬性將重新初始的變異符這樣的$convert_dates
值始終false
。
有沒有其他技巧或解決方案來解決這個問題?
設置一個構造函數來設置的'價值convert_dates' –