我有许多不同的位置插入和更新我的数据库的方式,我希望能够在插入数据库之前修剪()用户输入.我知道在模型中我可以做类似下面的事情,但我不想为每个领域做这件事.有没有办法设置适用于所有字段的通用setter?
例:
public function setSomFieldAttribute($value) { return $this->attributes['some_field'] = trim($value); }
您可能会覆盖这些方法:
原文链接:https://www.f2er.com/laravel/130314.html<?PHP class Post extends Eloquent { protected function getAttributeValue($key) { $value = parent::getAttributeValue($key); return is_string($value) ? trim($value) : $value; } public function setAttribute($key,$value) { parent::setAttribute($key,$value); if (is_string($value)) { $this->attributes[$key] = trim($value); } } }
你永远不应该再获得未经修改的价值.
编辑:
在这里测试过,我没有空格:
Route::any('test',['as' => 'test',function() { $d = Post::find(2); $d->title_en = " Markdown Example "; dd($d); }]);