使用Laravel 5.4.13,我有一个名为Widget的模型,我在其中设置主键如下:
protected $primaryKey = 'widget_id';
widgets表有一个主键列int,auto increment,名为:widget\u id。
但是,当我尝试在浏览器上更新记录时,我会出现以下错误:
Connection.php第647行中的QueryException:
SQLSTATE[42S22]:未找到列:1054“where子句”中的未知列“id”(SQL:选择count(*)作为来自widgets
wherename
=est eum和id
它仍然查找名为:id的列,而不是widget_id。
我发现这是在验证时发生的:
$this->validate($request, [
'name' => 'required|string|max:40|unique:widgets,name,' .$widget->widget_id
]);
我错过了什么?
您实际上是如何添加这个新的小部件\u id
?您对id
字段做了什么?如果我理解得很清楚,你想删除id
并用widget\u id
替换它,对吗?
请记住,在同一个表中不能有两个自动增量字段,以此类推,如果你想正常工作,你想让widget_id
成为人工智能。(但我不建议)
我建议删除id
,并使用新的迁移添加widget_id
。要创建迁移,请使用artisan命令:
php artisan make:migration alter_user
然后加上
public function up()
{
Schema::table(User::TABLE, function(Blueprint $table)
{
$table->dropColumn('id');
});
Schema::table(User::TABLE, function(Blueprint $table)
{
$table->increments('widget_id');
});
}
public function down()
{
Schema::table(User::TABLE, function(Blueprint $table)
{
$table->dropColumn('widget_id');
});
Schema::table(User::TABLE, function(Blueprint $table)
{
$table->increments('id');
});
}
注意:您不能将它们添加到同一个架构中。
然后添加protected$primaryKey='widget_id'
到您的模型。确保扩展
illumb\Database\elount\Model
。
它为我的一个新的laravel 5.4安装工作,在用户表上进行修改。希望对你有帮助。
试试这个:
$this->validate($request, [
'name' => 'required|string|max:40|unique:widgets,name,' .$widget->widget_id.',widget_id'
]);
这可能是一个已解决的问题,但我遇到了同样的问题,我希望根据我为解决该问题所采取的新方法作出贡献:
Laravel允许您使用以下命令指定要在关系模型中使用的foreignkey:
返回$this-
完成后,您就可以扩展模型并收回相关记录,而无需麻烦地指定唯一字段。
要检查更多关于这个跟随留档。
我正在尝试自定义AlertDialog按钮的强调色。但它并没有产生任何影响,它似乎是从系统中继承了颜色。这是我的风格/主题。 这是我试图构建警报对话框的代码。 编辑1: 我尝试了使用的方法,但它给出了相同的结果。 编辑2: 我还尝试更改对话框的重音颜色,但没有看到该颜色: 即使这样也不会改变按钮文本的颜色:(。
我试图创建一个加密的实现,但Android网站中给出的示例适用于API 23及以上版本。具体来说,问题是使用以下代码创建主密钥:。 在当前版本的androidx Security('androidx.security: security-crypto: 1.1.0-alpha01')上,您可以从技术上为创建实现,除了上面的函数状态仅适用于API 23及以上版本。因此,如果我理解正确,我唯一缺少的就
我正在尝试实现AES自定义密码加密,并希望了解下面的代码。 我不太理解为什么需要指定密钥大小256“pbekeyspec(password,salt,65536,256)”,而我已经使用了“pbkdf2withHMACSHA256”,它应该生成256位的SecretKey。 并且在使用我的密码+salt生成密钥之后,为什么我需要将它与SecretKeySpec作为AES算法关联起来。
我已经搜索了前面所有的问题,在Vuetify的新版本中,自定义的主题和图标对我来说都不起作用了。 vuetify.js文件: main.js文件: navbar.vue文件:(使用) 由于我的自定义主题,navbar的颜色应该是黑色,但它仍然是vuetify默认的蓝色。请指教。
我正在尝试使用自定义主ID在laravel中创建crud函数。创建、读取和删除都正常工作,但每当我尝试更新时,都会出现错误: SQLSTATE[42S22]:找不到列: 1054未知列'id'in'where子句'(SQL:选择计数(*)作为聚合从其中=about和 模型pages.php Controller pages.php 模型数据 我不确定为什么它会找到列id,因为我在模型中设置了pag
问题内容: 我在Android应用中使用Cloud Firestore数据库,并且在集合中有不同的文档,例如:用户uid,餐厅的按键和菜谱编号。 我的数据库: 对于用户,我知道可以使用uid,但最好为我的餐厅使用Firestore推送的ID?这是约定还是为什么要使用? 我还尝试使用UUID类生成唯一键,但对我来说,更容易在食谱中仅使用数字。这是一个不好的方法吗? 任何帮助将不胜感激,谢谢! 问题答