一般错误:1366不正确的整数值(QUERY EXEPTION)

时间:2019-04-08 12:22:32

标签: php mysql database laravel

我正在尝试从表单中向数据库中添加一些数据,但是我有一个例外:

<script>
    $("html").contextmenu(function(e) {
       e.preventDefault();
    });
</script>

这意味着我不能插入ID_ARTICLE,它是一个整数 这是我的查询:

公共功能存储(请求$ request)     {         $ annonce =新的名词;

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}]))

我试图替换

    $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;  

从列表中检索整数值,但显示另一个错误:此集合实例上不存在属性[ID_ARTICLE]。

当我们看到它存在时 任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

您的变量$IDARTICLE包含多个结果集。您必须获取特定记录的ID并插入到另一个这样的表中。

 $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);