我想为我的文章创建评论部分。 我的逻辑是,文章有很多评论,而用户(文章的读者)有很多评论。 所以我做了一张有2个外键的表。
如果文章已删除->级联并删除评论。
如果删除用户,我该如何保留对文章的评论?这是代码:
_select_value
答案 0 :(得分:3)
您必须将“ user_id”列设置为可为空,以便从数据库中删除用户时,可以将其设置为null。
$table->unsignedBigInteger('user_id')->nullable();
$table->foreign('user_id')->references('id')->on('users')->onDelete('set null');
然后在前端可以执行以下操作:
$comment->user()->exists() ? $comment->user->username : 'Unknown User';
答案 1 :(得分:0)
只需在模型上添加SoftDeletes
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Flight extends Model
{
use SoftDeletes;
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['deleted_at'];
}