我有
users
桌子和
subscriptions
桌子
订阅
表中有一个外键列
user_id
和其他专栏
status
类型为enum且具有一组值
('canceled','active','skipped','unpaid','pastdue','expired')
在模型中,我定义了它们之间的关系,
public function subscription()
{
return $this->hasMany(Subscription::class);
}
现在我正在实现一个过滤器功能
在我的dataTable类的这个函数中
public function query(User $model)
{
if ($this->_filters['subscription_status']) {
$status = $this->_filters['subscription_status'];
$model = $model->whereHas('subscription', function($query) use ($status) {
$query->where('status', $status);
});
}
现在,当我试图获取订阅状态的用户列表时
canceled
结果,我得到了一个状态为的用户列表
active
和
cancelled
为什么上面的代码不起作用?