我尝试在laravel中重写主键,如:
public function setIdAttribute($value)
{
$this->attributes['id'] = $value; // or instead $value $this->attributes['idCity']
}
所以我需要在id
字段
idCity
字段的值
答案 0 :(得分:1)
重命名您应创建新迁移的列 要为此更改创建迁移,请在控制台上编写
php artisan make:migration swapKeyId
然后转到数据库 - >迁移 - > ... swapkey .... php 在名为 function up()的方法中编写下面的代码但在我的情况下替换你的表名我使用用户
Schema::table('users', function ($table) {
$table->renameColumn('id', 'userId');
});
现在是时候推送迁移到数据库了
php artisan migrate
并完成了。这个方法是通过laravel的renamin,也可以直接将它改为数据库(MySQL,MariaDB,SQL Server等)
答案 1 :(得分:0)
在模型中设置属性以定义php应如何存储值,这与在MySQL中创建主键完全不同。按照文档设置迁移,并且没有很多可能出错: