Красноречивый запрос: идентификатор столбца неоднозначный

Я пытаюсь получить все строки таблицы с Eloquent, где идентификатор не находится в массиве $ids .

 $product_deleteds = $category->products()->whereNotIn('id', $ids)->get(); 

Я получил эту ошибку:

SQLSTATE [23000]: Нарушение ограничения целостности: 1052 Столбец 'id' в том, где предложение неоднозначно

Запрос состоит из следующего:

 Select * from `products` inner join `products_categories` on `products_categories`.`id` = `products`.`product_category_id` where `products`.`deleted_at` is null and `products_categories`.`restaurant_id` = 1 and `id` = 4 limit 1 

Я знаю, что могу сделать свою просьбу следующим образом:

 $product_deleteds = $category->products()->whereNotIn('products.id', $ids)->get(); 

Но я не хочу, потому что имя таблицы может измениться. Я тоже мог это сделать, но это кажется немного сложным:

 $product_deleteds = $category->products()->whereNotIn(Product::getTableName().'.id', $ids)->get(); 

Любая помощь ?