@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');


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

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

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

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

Похожие вопросы