Gae*_*bze 5 php mysql laravel-5
我有两个表用户和帖子.这是我的用户表迁移文件:
public function up()
{
Schema::create('users', function(Blueprint $table)
{
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->string('password_temp',60);
$table->integer('active');
$table->string('code',60);
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
Run Code Online (Sandbox Code Playgroud)
这是我的帖子表迁移文件
public function up()
{
Schema::create('posts', function(Blueprint $table){
$table->increments('id');
$table->string('title');
$table->text('body');
$table->integer('user_id')->unsigned();
$table->string('slug');
$table->timestamps();
});
Schema::table('posts',function(Blueprint $table){
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade')
->onUpdate('cascade');
});
}
Run Code Online (Sandbox Code Playgroud)
AdminPostsController扩展Controller {public function store(Request $ request){
$validator = Validator::make($request->all(),Post::$rules);
if($validator->passes()){
$post = new Post();
$post->title = $request->get('title');
$post->body = $request->get('body');
$post->user_id = $request->get('id');
$post->slug = Slug::generateSlug($request->get('title'));
$post->save();
return Redirect::route('admin.posts.index');
}
else{
return Redirect::route('admin.posts.create')->withErrors($validator)->withInput();
}
}
Run Code Online (Sandbox Code Playgroud)
}
每次我插入一个新帖子,我总是看到以下错误" QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ('blog'.'posts', CONSTRAINT 'posts_user_id_foreign' FOREIGN KEY ('user_id') REFERENCES 'users' ('id') ON DELETE CASCADE ON UPDATE CASCADE)博客QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ('blog'.'posts', CONSTRAINT 'posts_user_id_foreign' FOREIGN KEY ('user_id') REFERENCES 'users' ('id') ON DELETE CASCADE ON UPDATE CASCADE)帖子QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ('blog'.'posts', CONSTRAINT 'posts_user_id_foreign' FOREIGN KEY ('user_id') REFERENCES 'users' ('id') ON DELETE CASCADE ON UPDATE CASCADE)posts_user_id_foreign QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ('blog'.'posts', CONSTRAINT 'posts_user_id_foreign' FOREIGN KEY ('user_id') REFERENCES 'users' ('id') ON DELETE CASCADE ON UPDATE CASCADE)user_id QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ('blog'.'posts', CONSTRAINT 'posts_user_id_foreign' FOREIGN KEY ('user_id') REFERENCES 'users' ('id') ON DELETE CASCADE ON UPDATE CASCADE)用户QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ('blog'.'posts', CONSTRAINT 'posts_user_id_foreign' FOREIGN KEY ('user_id') REFERENCES 'users' ('id') ON DELETE CASCADE ON UPDATE CASCADE)ID QueryException in Connection.php line 614:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails ('blog'.'posts', CONSTRAINT 'posts_user_id_foreign' FOREIGN KEY ('user_id') REFERENCES 'users' ('id') ON DELETE CASCADE ON UPDATE CASCADE)"我想知道我做错了什么.
此代码创建约束,以便您的帖子必须由有效的用户ID引用.该user_id字段必须包含users表id字段中的现有密钥.
$table->foreign('user_id')
->references('id')
->on('users')
Run Code Online (Sandbox Code Playgroud)
尝试在保存新帖子之前关联用户.
$post = new Post();
$post->title = $request->get('title');
$post->body = $request->get('body');
$post->user()->associate($user);
$post->save();
Run Code Online (Sandbox Code Playgroud)
假设您在$uservar 上加载了有效的用户模型,并且您已在模型上设置了"用户"和"帖子"之间的关系.
| 归档时间: |
|
| 查看次数: |
9828 次 |
| 最近记录: |