Как удалить строку из таблицы Laravel в Contraller (не содержит id в базах данных) - PullRequest
1 голос
/ 16 апреля 2020

База данных не была создана с помощью Laravel, но я хочу удалить строку из таблицы, и для этой строки нет «id», потому что это промежуточная таблица, как в этом случае я могу удалить эту строка из таблицы?!

$productCustomer->delete();

В таблицах содержится 3 кулона:

  • customer_id
  • product_id
  • date_added

Ответы [ 2 ]

3 голосов
/ 16 апреля 2020

Создайте один первичный ключ столбца в вашей модели ProductCustomer. php

protected $primaryKey = 'customer_id';

ProductCustomer::where('customer_id', $id)->delete();

Но здесь Убедитесь, что из какой строки вам нужно удалить
Поскольку он удаляет более одной строки, если это соответствует. Таким образом, вы должны взять другой, где

ProductCustomer::where('customer_id', $customer_id)->where('product_id',$product_id)->delete();

Или вы можете добавить новый файл миграции, где вы добавляете столбец идентификатора с автоматическим приращением

0 голосов
/ 16 апреля 2020

Вы не можете удалить как без первичного ключа, вы можете установить его.

Или использовать классический запрос (например):

ProductCustomer::where('customer_id', $id)->delete();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...