laravel - laravel中删除行时如何更新字段

标签 laravel laravel-4 eloquent

让我有一个名为 customer 的表,其中 customer 表有一个名为 deleted_by 的字段。 我在 customer 模型中实现了 softDelete 。现在我想在行删除时更新 deleted_by 。这样我就可以追踪谁删除了这一行。

我确实在谷歌上搜索过它,但我没有找到任何东西。

我使用 laravel 4.2.8 和 Eloquent

最佳答案

您可以使用如下方式更新字段:

$customer = Customer::find(1); // Assume 1 is the customer id

if($customer->delete()) { // If softdeleted

    DB::table('customer')->where('id', $customer->id)
      ->update(array('deleted_by' => 'SomeNameOrUserID'));
}

此外,您可以在一个查询中完成此操作:

// Assumed you have passed the id to the method in $id
$ts = Carbon\Carbon::now()->toDateTimeString();
$data = array('deleted_at' => $ts, 'deleted_by' => Auth::user()->id);
DB::table('customer')->where('id', $id)->update($data);

两者均在一个查询中完成,softDelete 并记录 deleted_by

关于laravel - laravel中删除行时如何更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25503004/

相关文章:

php - 在 laravel 5 facebook graph api 中找不到类 Facebook

javascript - Laravel 第二个 js 文件

php - 如何通过引用 Blade 模板中的@include 来传递变量?

php - 来自 php 的 dump-autoload 命令

php - Laravel Eloquent 查询检查重叠的开始和结束日期时间字段

php - Laravel 4:View::make() 方法位于哪里?

外键中的 Laravel 整数 v biginteger

php - Laravel 获取订单位置

php - Laravel如何编写具有多个条件但记录在同一用户下的搜索查询

Laravel 定义同一张表的多对多关系