У меня есть users
таблица и subscriptions
таблица.
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
, почему приведенный выше код не 'т работа?