【发布时间】:2015-08-25 12:51:41
【问题描述】:
当我软删除用户时,相关数据会怎样?例如,我有一个捐赠表,我们在其中跟踪用户为每个活动提供的所有捐赠。
public function user()
{
return $this->belongsTo('App\User');
}
捐赠表架构
Schema::create('donations', function(Blueprint $table)
{
$table->increments('id');
$table->integer('campaign_id');
$table->integer('user_id');
$table->float('amount');
$table->timestamps();
});
因此,如果用户软删除,那么活动的总金额将如何受到影响。还有一个 cmets 表,用于跟踪用户使用的所有 cmets。我们正在使用 softdelete,以便我们稍后可以重新激活该帐户。这是当前场景中的好方法,还是我可以使用用户表中的状态字段来停用或重新激活用户。
【问题讨论】:
-
我建议使用另一个名为deleted_at的时间戳,如果这是NULL,那么用户不会被删除,否则用户会被删除。当您想重新激活帐户时,您始终可以将 deleted_at 字段设置回 NULL
-
捐款必须保存在 IMO 数据库中。即使关联的用户被删除。我认为,您在这里使用了适当的方法。
标签: php laravel laravel-5 eloquent