@LEIFEI

Как добавить несколько значений в foreign в Laravel Factory?

Всем привет, не могу понять как добавить несколько отношений foreign в фабрику и сидер.

Есть фабрика
$category_id = [ '1', '2', '3', ];
 return [ 'category_id' => $category_id, ]

Получается, что в поле категория я пытаюсь занести массив из id категорий, в миграции пробую сделать так:
$table->bigInteger('category_id')->unsigned(); 
            $table->foreign('category_id')
                  ->references('id')
                  ->on('categories');


Запускаю миграцию, но выдает ошибку. Что я делаю не так?
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Название столбца category_id переводится как "идентификатор категории" (единственное число). Тип этого столбца - число. Почему вы решили, что туда можно записать массив (и почему-то строк)?

Вы пишете "запускаю миграцию, но выдает ошибку". Фабрики с миграциями не связаны, соответственно, ошибка ещё в чём-то другом, что в вопросе не упомянуто. Что в ошибке конкретно написано? Или, может, вы "запускаете миграции" с флагом --seed и дело всё-таки в фабрике? Нам остаётся только гадать.

Если же вы хотите, чтобы к вашей сущности можно было привязывать несколько категорий, то структура таблиц должна быть другой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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