【发布时间】:2018-10-07 14:01:17
【问题描述】:
我正在做一个测试,但不确定如何使用 laravel 迁移文件进行测试。简而言之,有自动递增的id 字段(始终为正整数)。但我还想要一个negative_id 字段,它是id * -1 的值,并且在将id 插入数据库时会自动同步插入。因此,当添加第一个用户时,id 会自动添加为1,因此negative_id 应添加为该行的-1,因为1 * -1 = -1。该表应如下所示:
| id | negative_id
------------------
| 1 | -1
| 2 | -2
| 3 | -3
以下是我当前的迁移文件:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration {
public function up(){
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->integer('negative_id'); // how to make this id*-1 value
});
}
public function down(){
Schema::dropIfExists('users');
}
知道如何从迁移文件中完成此操作吗?
【问题讨论】:
-
我认为,您可以尝试触发器。(如果我们谈论数据库级别)。另一方面,您可以使用
Eloquent事件docs
标签: laravel laravel-5.5 laravel-migrations