【发布时间】:2017-04-26 07:09:34
【问题描述】:
我收到了这个错误:
SQLSTATE[23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败(pumma2.users,CONSTRAINT users_roles_id_foreign FOREIGN KEY(roles_id)参考users (id) ON DELETE CASCADE ON UPDATE CASCADE) (SQL: 插入users (username, email, name, password, cover, roles_id, @9876543@4 987654335@) 值 (qweqwe, haikalhikmi@gmail.com, qweqweqew, $2y$10$YX2OPPTGEDcquYkgk.ln6eEuwtFqrtmRbIpvgEZqJJHR9gk8mfdfm, wallpaper-27058.jpg, 1, 2016-12-11 06:09:41, 06:0-2 :41))
这是我的注册控制器
$user=$request->file('cover');
$destination ='img/user';
$filename=$user->getClientOriginalName();
storage::put('img/user/'.$filename,file_get_contents($request->file('cover')->getRealPath()));
$user = new User();
$user->username = $request->username;
$user->email = $request->email;
$user->name = $request->name;
$user->password = bcrypt($request->password);
$user->cover = $filename;
$user->roles_id = DB::table('roles')->select('id')->where('rolename','user')->first()->id;
$user->save();
当我尝试 dd($user):
它有效:
attributes: array:6 [▼
"username" => "qweqwe"
"email" => "haikalhikmi@gmail.com"
"name" => "qweqweqew"
"password" => "$2y$10$Ci5usZFP6ANCyBfQhN3Gzexh98Wb8R9n4AmVEvq8x/4bakfGF8l/y"
"cover" => "wallpaper-27058.jpg"
"roles_id" => 1
]
以防万一你想查看我的用户表
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('roles_id')->nullable();
$table->string('username')->unique();
$table->string('email')->unique();
$table->string('name')->unique();
$table->string('password');
$table->string('cover');
$table->rememberToken();
$table->timestamps();
});
Schema::create('roles', function (Blueprint $table){
$table->increments('id');
$table->string('rolename');
});
schema::table('users', function (Blueprint $table){
$table->foreign('roles_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
});
}
【问题讨论】: