Я пытаюсь получить все строки таблицы с 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();
Любая помощь ?