【发布时间】:2017-09-14 01:09:36
【问题描述】:
我正在尝试实现“有一个”关系,但此错误阻止我保存令牌。
迁移:
class CreatePasswordTokensTable extends Migration
{
public function up()
{
Schema::create('password_tokens', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
$table->integer('user_id')->unsigned()->index();
$table->foreign('user_id')->references('id')->on('users');
$table->string('token');
});
}
...
}
class CreateUsersTable extends Migration
{
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
$table->string('email')->unique();
$table->string('password')->default('');
$table->string('remember_token', 100)->default('');
$table->boolean('active')->default(false);
$table->timestamps();
});
}
...
}
型号:
class User extends Model
{
public function passwordToken()
{
return $this->hasOne('App\Models\PasswordToken');
}
}
class PasswordToken extends Model
{
public function user() {
return $this->belongsTo('App\Models\User');
}
}
错误:
Illuminate\Database\QueryException 并带有消息“SQLSTATE[42S22]: 未找到列:1054“字段列表”中的未知列“user_id”(SQL: 插入
users(id,user_id,updated_at,created_at) 值 (email, 1, 1, 2017-04-18 10:05:47, 2017-04-18 10:05:47))'
【问题讨论】: