0
我將如何獲取模型,然後一次清除其屬性,以使其所有屬性都變爲null
?獲取模型並清除屬性
有沒有這樣的方法?
例如:
$model = Model::findOrFail(1);
$model->clearAttributes();
我將如何獲取模型,然後一次清除其屬性,以使其所有屬性都變爲null
?獲取模型並清除屬性
有沒有這樣的方法?
例如:
$model = Model::findOrFail(1);
$model->clearAttributes();
想出了這個:
public $protected_schema = ['id', 'created_at', 'updated_at'];
public function clearAttributes()
{
foreach (Schema::getColumnListing($this->getTable()) as $name) {
if (!in_array($name, $this->protected_schema)) {
$this->{$name} = null;
}
}
}
咩。
你可以做這樣的事情:
$model = Model::findOrFail(1);
$model->fill(array_fill_keys($model->getFillable(), null));
getFillable()
會給你可填寫屬性的列表和array_fill_keys()
將創建與數組中的鍵和null
作爲值。
如果您想將模型保存到數據庫之後,只需執行$model->save();