Php 保存多态关系时调用未定义的生成器::save()
我试图在注册用户时保存多态关系,但它返回我:Php 保存多态关系时调用未定义的生成器::save(),php,laravel,laravel-4,polymorphism,Php,Laravel,Laravel 4,Polymorphism,我试图在注册用户时保存多态关系,但它返回我: Call to undefined method Illuminate\Database\Query\Builder::save() 我的数据库中有3个表: Schema::create('usuarios', function(Blueprint $table) { $table->increments('id'); $table->string('nombreUsuario', 20); $table->
Call to undefined method Illuminate\Database\Query\Builder::save()
我的数据库中有3个表:
Schema::create('usuarios', function(Blueprint $table) {
$table->increments('id');
$table->string('nombreUsuario', 20);
$table->string('password', 60);
$table->string('email', 30);
$table->string('remember_token', 100)->nullable();
$table->integer('cuenta_id');
$table->string('cuenta_type');
$table->timestamps();
});
Schema::create('empresas', function(Blueprint $table) {
$table->increments('id');
$table->string('nombreEmpresa', 50);
$table->string('direccion', 50);
$table->timestamps();
});
Schema::create('alumnos', function(Blueprint $table) {
$table->increments('id');
$table->string('nombre', 50);
$table->string('apellidoPaterno', 50);
$table->string('apellidoMaterno', 50);
$table->integer('semestre');
$table->timestamps();
});
在我的控制器上,注册用户时:
$alumno = new Alumno;
$alumno->nombre = Input::get('nombre');
$alumno->apellidoPaterno = Input::get('paterno');
$alumno->apellidoMaterno = Input::get('materno');
$alumno->semestre = Input::get('semestre');
$alumno->save();
$usuario = new User;
$usuario->nombreUsuario = Input::get('usuario');
$usuario->password = Hash::make(Input::get('password'));
$usuario->email = Input::get('email');
$usuario->cuenta()->save($alumno); // <--Here
它回来了
调用未定义的方法Illumb\Database\Query\Builder::save()
也用于:
$alumno->save();
$usuario->save();
$usuario->cuenta()->associate($alumno);
它回来了
Maximum function nesting level of '100' reached, aborting!
我应该使用FK吗?我想你改变了
$usuario->cuenta()->save($alumno);
到
然后像平常一样运行多态关系。我用了错误的方法。(?)
改变
$usuario->cuenta()->save($alumno);
到
你的意思是做$usuario->save();那么这个$usuario->cuenta()->save($alumno)?
$usuario->cuenta()->save($alumno);
$usuario->save();
$usuario->cuenta()->save($alumno);
$alumno->user()->save($usuario);