【发布时间】:2021-02-07 11:20:44
【问题描述】:
我正在使用 Eloquent 软删除来删除数据库中的一行。我使用函数destroy,在数据库列deleted_at 中有一个日期,但这并没有隐藏已删除的记录。
我在控制器中的代码。
$query = Role::join('users', 'roles.id', '=','users.role_id');
$user = User::all();
$users = $query->select('users.*','roles.name as role_name')->paginate(10);
我在用户模型中的代码
use SoftDeletes;
use HasFactory;
protected $table = 'users';
protected $guarded = [];
protected $hidden = [
'password', 'remember_token', 'deleted_at'
];
public function roles() {
return $this->belongsTo(Role::class);
}
我在模型角色中的代码
use HasFactory;
protected $table = 'roles';
protected $guarded = [];
public function users() {
return $this->hasMany(User::class);
}
【问题讨论】:
-
你可以使用
$hidden属性protected $hidden = ['deleted_at']; -
不工作兄弟:(
-
为您的问题添加一些代码。你有什么尝试,为什么不工作。很难猜测并找到解决方案。
-
更新了模型角色中的代码。有人帮我修复这个错误。
-
为您添加了答案。检查一下。
标签: laravel