Ali*_*ssa 3 php mysql laravel eloquent
我正在尝试记录我的数据库(mysql db)的所有更改.
我需要知道更新的哪些字段以及哪些表,所以经过一些研究我遇到了这个getDirty()方法,但它总是返回一个空数组,这是我的简单代码示例:
public function update($id, Request $request)
{
$article = Article::findOrFail($id);
$article->update($request->all());
return $article->getDirty();
}
Run Code Online (Sandbox Code Playgroud)
知道为什么没有归还吗?
这是因为你$article->getDirty();在更新数据库后调用了.
您可以使用此模型的事件,也有像许多事件saving,updating,deleting...更多详情请看这里
class SomeModel extends Eloquent {
protected static function boot()
{
parent::boot(); // don't forget to call the parent boot method
//On saving
static::saving(
function($record)
{
$dirty = $record->getDirty();
foreach ($dirty as $field => $newdata)
{
$olddata = $record->getOriginal($field);
if ($olddata != $newdata)
{
// Do what it takes here :)
}
}
return true;
}
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3256 次 |
| 最近记录: |