Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 保存多态关系时调用未定义的生成器::save()_Php_Laravel_Laravel 4_Polymorphism - Fatal编程技术网

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);