Общая ошибка: 1366 Неверное целочисленное значение (QUERY EXEPTION) - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь добавить некоторые данные в базу данных из формы, но у меня есть исключение:

SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '[{"ID_ARTICLE":58}]' for column 'ID_ARTICLE' at row 1 (SQL: insert into `annonce` (`TITRE_ANNONCE`, `TYPE_ANNONCE`, `PRIX`, `ID_ARTICLE`) values (titre, 1, 100, [{"ID_ARTICLE":58}]))

что означает, что я не могу вставить ID_ARTICLE, который является целым числом вот мой запрос:

магазин публичных функций (Request $ request) { $ annonce = new annonce;

    $IDARTICLE = DB::table('article')
        ->select('ID_ARTICLE')
        ->where('NOM_ARTICLE', $request->NOM_ARTICLE)
        ->get();


    $annonce->TITRE_ANNONCE = $request->TITRE_ANNONCE;
    $annonce->TYPE_ANNONCE = $request->TYPE_ANNONCE;
    $annonce->PRIX = $request->PRIX;
    $annonce->ID_ARTICLE = $IDARTICLE;
    $annonce->save();

    return ($annonce);
}

Я пытался заменить

$annonce->ID_ARTICLE = $IDARTICLE;  

с

  $annonce->ID_ARTICLE = $IDARTICLE->ID_ARTICLE; 

для получения целочисленного значения из списка, но с другой ошибкой: свойство [ID_ARTICLE] не существует в этом экземпляре коллекции.

когда он существует, как мы можем видеть любая помощь будет заметна, спасибо

1 Ответ

0 голосов
/ 08 апреля 2019

Ваша переменная $IDARTICLE содержит несколько результатов.Вы должны получить идентификатор конкретной записи и вставить в другую таблицу, как это.

 $IDARTICLE = DB::table('article')
        ->select('ID_ARTICLE')
        ->where('NOM_ARTICLE', $request->NOM_ARTICLE)
        ->first();


    $annonce->TITRE_ANNONCE = $request->TITRE_ANNONCE;
    $annonce->TYPE_ANNONCE = $request->TYPE_ANNONCE;
    $annonce->PRIX = $request->PRIX;
    $annonce->ID_ARTICLE = $IDARTICLE->ID_ARTICLE;
$annonce->save();

return ($annonce);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...