我在我的模型中有一個published_at
字段,我將其設置爲碳日期。Laravel雄辯骯髒檢查碳日期
class Model {
protected $dates = ['published_at'];
....
public function setPublishedAtAttribute($val)
{
$this->attributes['published_at'] = \Carbon\Carbon::createFromTimeStamp(strtotime($val));
}
}
這是用戶可以設置的一個域。當我運行就可以了dirty
檢查:
$article->fill($data);
echo $article->isDirty() ? 'true' : 'false';
它總是出現dirty
。我做錯了什麼或者是因爲它試圖比較兩個碳對象?
不相關的問題,但你可以用'碳::解析($ VAL)'代替'Carbon :: createFromTimeStamp'(strtotime($ val))' – lukasgeiter 2015-04-03 12:56:35
如果屬性名稱在'$ dates'屬性中,你不需要創建一個mutator方法,Laravel會自動將它轉換爲'Carbon'實例。 – 2015-04-03 13:02:54
我認爲馬丁斯的觀察可能是它很髒的原因。 $ dates數組中的所有屬性都會自動轉換爲Carbon,所以在實例化這個模型和手動設置之間可能會延遲* Attrbitue會導致它被標記爲髒? – dotty 2015-04-03 13:38:17