sql - Laravel Eloquent 添加到表在增量列中返回 null
问题描述
这是我的桌子
我的错误似乎表明,当我尝试运行 insert eloquent 时,我的两个 id 列都给出了一个空值,这是问题所在:
SQLSTATE [23502]:非空违规:7 错误:关系“hms_bbr_category”的列“id”中的空值违反非空约束细节:失败行包含(null,null,Insert 1,Insert Desc,null,null,null ,空,空,空,空,空,空,空)。(SQL:插入“hms_bbr_category”(“category_name”,“category_description”)值(Insert 1,Insert Desc)返回“id”)
型号: HmsBbr类别
class HmsBbrCategory extends Model
{
protected $table = 'hms_bbr_category';
protected $primaryKey = 'id';
public $timestamps = false;
}
路线:
Route::get('/bbr-category-configuration', function(){
$addCategory = new App\Models\HmsBbrCategory;
$addCategory->category_name='Insert 1';
$addCategory->category_description='Insert Desc';
$addCategory->save();
});
请注意,我一开始很简单,单击路由链接时会触发插入。
我尝试手动插入增量选项,但它似乎仍然无法正常工作。
$addCategory = id->id + 1;
$addCategory = category_id->category_id + 1;
感谢您的帮助,如果问题仍需要澄清,请随时告诉我详细说明
更新
请注意,我没有通过迁移创建此表,此表按原样提供给我,不允许更改。
用包含“NOT NULL”的列更新了我的插入,但我得到另一个错误:
$addCategory = new App\Models\HmsBbrCategory; $addCategory = id->id + 1; $addCategory = category_id->category_id + 1; $addCategory->category_name='Insert 1'; $addCategory->category_description='Insert Desc'; $addCategory->created_by='Me'; $addCategory->category_description=CURRENT_TIMESTAMP; $addCategory->save();
错误:
Symfony\Component\Debug\Exception\FatalThrowableError
syntax error, unexpected '->' (T_OBJECT_OPERATOR)
解决方案
根据您的表结构,这些列不能为空且没有默认值:
- 类别ID
- 由...制作
- created_datetime
因此,当您插入/更新时,这些列不能保持为空。
所以在您的代码中,您没有提供任何这些值。
"id->id + 1" 也是错误的,因为你没有一个名为 id 的变量,即使你有,也不确定 "id + 1" 应该给你的 PK 在表中什么。
但是 id 有一个默认值,似乎它得到了 nextval() ,所以你在那里很好。
但是对于 category_id ,您需要传递一个整数 id ,如果您想获取表中的最后一个 category_id 并添加 1 作为新的,这不是您可以做到的。
推荐阅读
- jquery - 如何使用节点接收 ajaxed 多部分表单数据
- python - 将 fit 文件转换为 healpix 地图
- oracle - 如何让用户在 Oracle 实时服务器的 PlSql 中输入值?
- logging - 即使日志文件中有错误,Nagios check_logs.pl 也会给出 OK
- javascript - Javascript:单参数 Array.map() 的不同行为取决于我是否使用花括号(不是两种形式都允许吗?)
- android - 无法在片段中获得幻灯片效果
- macos - hidd 进程在控制台中生成错误消息
- amazon-web-services - 已解决___使用 AWS S3 到 Webhost 没有给出关键错误
- node.js - Node.js 中的阻塞事件循环仍然存在问题吗?
- python - 我正在尝试在 Pycharm 中使用 Selenium webdriver,您可以在您的项目中使用它还是仅在 Python 控制台中使用它?