У меня проблема с Laravel 7 Eloquent. У меня есть 2 таблицы, соединенные many to many relation
. Пользователь таблицы подключен к PaymentModule с помощью pivot
таблицы PaymentModuleUser. Мне нужно использовать where
в сводной таблице в операторе is_active = 1
. Когда я использую toSQL()
в моей модели, SQL возвращает хорошие результаты, но когда я проверяю свой Eloquent Query in Controller, данные, которые я возвращаю, игнорируют мой метод wherePivot (возвращают все данные из таблицы, игнорирующие is_active = 1
field подписчики = ноль, и получают меня этот пользователь .. Я должен сделать это, если мой pivotWhere = null
не показывает этого пользователя). Не могли бы вы указать мне, где я ошибаюсь с моим кодом?
Моя модель UserTable:
public function subscriber(){
return $this->belongsToMany(PaymentsModule::class, 'payment_module_user', 'user_id')->withPivot('is_active');
}
MyController:
$users = User::with(['subscriber'=>function($query)
{
$query->wherePivot('is_active','=', 1);
}])->get();
print_r($users);