php - SQLSTATE [42S22]:找不到列:1054 '字段列表'中的未知列'0' - Laravel Eloquent
问题描述
当我尝试使用 laravel 5.5.41 在数据库中保存对象时出现此错误
这是我的代码
$game = new Game;
$game->name = $itemFetched["name"];
$game->image = $itemFetched["image"];
$game->wikipediaPageUrl = $itemFetched["wikipediaPageUrl"];
$game->wikipediaPageName = $itemFetched["wikipediaPageName"];
$game->wikipediaPageSlug = $itemFetched["wikipediaPageSlug"][0;
$game->save();
$gameid = $game->id;
这是我得到的错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list'
(SQL:
insert into `games`
(`0`, `1`, `2`, `3`, `4`, `5`, `name`, `image`, `wikipediaPageUrl`, `wikipediaPageName`, `wikipediaPageSlug`,
`updated_at`, `created_at`) values
(name, image, metadata, wikipediaPageUrl, wikipediaPageName, wikipediaPageSlug,
TestName, https://testimageurlvalue.png,
https://testPageUrlValue.it, testPageNameValue, testPageSlugValue,
2018-08-08 17:08:42,
2018-08-08 17:08:42))
我已经尝试过这样的:
$gameToImport = array(
'name' => $itemFetched["name"],
'image' => $itemFetched["image"],
'metadata' => json_encode($itemFetched["metadata"]),
'wikipediaPageUrl' => $itemFetched["wikipediaPageUrl"],
'wikipediaPageID' => $itemFetched["wikipediaPageID"],
'wikipediaPageName' => $itemFetched["wikipediaPageName"],
'wikipediaPageSlug' => $itemFetched["wikipediaPageSlug"]
);
$game = new Game($gameToImport);
$game->save();
并将 save() 切换为 create() 结果几乎相同,我发现插入记录的唯一方法是使用 insert 方法,但我无法获取新记录的 id,甚至 $game- >id 为空.. 我也尝试将 ->id() 或 ->id 附加到插入调用但没有成功..
请有人可以帮助我理解什么是错的?
解决方案
我强烈建议使用 create 方法,但如果您已经使用过 insert 并工作过,您可以尝试:
$game_id = DB::table('games')->insertGetId($itemFetched);
或者
$game_id = DB::table('games')->insertGetId(['name'=>$itemFetched["name"],
'image' => $itemFetched["image"]]);
推荐阅读
- python - 如何合并两个数据框并在其中保留非nan值
- sql - 在从 XML Column 编写 oracle 查询时需要帮助
- php - 使用方括号而不是大括号创建 JSON
- python - Python 中的自动化:将混合 xls 转换为 html
- reactjs - 在 sweetalert2 中显示来自 preConfirm 的错误消息
- mrtk - 如何生成具有初始方向的求解器?
- python - 如何在两个字符串标记python之间捕获数据
- android - 从 android studio 安装时一切正常,从 playstore 安装时结果相同,但 PDF 的一项活动不起作用
- git - 如何创建子分支?
- apache-kafka - Kafka 无法在 3 个单独的 VM 上创建基本的 3 节点集群