@orsenorsen
Интересна Backend-разработка

Как выбрать модели без записей в сводной таблице?

Имеются таблицы работников (employee) и услуг (services), а также сводная таблица по ним. Нужно на фронт отдавать данные по работникам у которых нет записей в сводной таблице. Не могу подобрать простое решение. Можно ли добавить метод в модель работника и вызывать оттуда. Примерный код куда нужно добавить условие
$employees = Employee::where('canrecept', '=', 1)
    ->select('firstName', 'lastName')
    ->active()
    ->paginate($limit);

связь у моделей через belongsToMany, и там и там
public function services(): BelongsToMany
    {
        return $this->belongsToMany(Service::class);
    }
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
https://laravel.com/docs/master/eloquent-relations...

use App\Models\Post;
 
$posts = Post::doesntHave('comments')->get();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
i229194964
@i229194964
Веб разработчик
$employees = Employee::where('canrecept', '=', 1)
    ->whereNotIn('id', function ($query) {
        $query->select('employee_id')
            ->from('employee_services');
    })
    ->select('firstName', 'lastName')
    ->active()
    ->paginate($limit);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы