【发布时间】:2018-10-17 04:17:54
【问题描述】:
我使用 eloquent 和软删除。我收到错误,因为我的查询仍然选择已经使用软删除的数据,这里是我的模型
用户模型
class User extends Authenticatable
{
use Notifiable, HasRoles, SoftDeletes;
protected $guard_name = 'web';
protected $fillable = [
'username', 'password'
];
protected $dates = ['deleted_at'];
}
例如,我有 100 个用户,我用 softdelete 删除了 1 个用户。然后我尝试
$a = User::all();
dd($a);
我有 99 个用户。有用!但是在我使用它之后,我所做的在这里不起作用
这是我的父表和模型
表格
|id|user_id|parent_id|
注意 : user_id 和 parent_id 在 user.id 表中是 FK
class Parent extends Model
{
protected $table = 'parent';
public function user()
{
return $this->belongsTo('App\User');
}
}
$getParent = Parent::with('user')->get();
当我dd($getParent); 时,为什么我仍然从我已经使用软删除的 user_id 获得空数据?
更新模型用户:在我放 whereNull 之后,我仍然得到我已经软删除的用户
public function user()
{
return $this->belongsTo('App\User')->whereNull('users.deleted_at');
}
【问题讨论】: