我有两个模型:
我认为如果关系处理得当,那就没问题了。
User
和Roles
。我需要从同一个表单中插入User
及其Roles
。$user = new User;
$user ->name = $request ->input('name');
$user ->email = $request ->input ('email');
$user -> password = $request ->input ('pass');
$user ->save();
$role = new Role;
$role ->name = $request ->input('role');
$role ->explain = $request ->input('exp');
$role ->save();
$role ->roles() ->save($user);
它给我报错了。
User
模型:
public function roles()
{
# code...
return $this ->hasMany('App\Role');
}
角色模型:
public function users()
{
# code...
return $this ->belongsTo('App\User');
}
迁移:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
Schema::create('roles', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned()->index();
$table->text('name');
$table->string('explain');
$table->timestamps();
//cascade
$table->foreign('user_id')->references('id')->on('users')- >onDelete('cascade');
});
我认为如果关系处理得当,那就没问题了。
many
.roles
, CONSTRAINTroles_user_id_foreign
FOREIGN KEY (user_id
) REFERENCESusers
(id
) ON DELETE CASCADE) (SQL: insert intoroles
(name
,explain
,updated_at
,created_at
) values (sss, asw, 2016-02-21 07:34:02, 2016-02-21 07:34:02)) - user5565240