如何在Laravel中重写字段?

时间:2016-08-23 14:03:23

标签: laravel laravel-5.2

我尝试在laravel中重写主键,如:

public function setIdAttribute($value)
    {
        $this->attributes['id'] = $value; // or instead $value $this->attributes['idCity']
    }

所以我需要在id字段

的值上替换idCity字段的值

2 个答案:

答案 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中创建主键完全不同。按照文档设置迁移,并且没有很多可能出错:

Migrations in Laravel 5.2