Methods Laravel 4-未找到模型方法

Methods Laravel 4-未找到模型方法,methods,laravel,model,Methods,Laravel,Model,我已将profiles方法添加到User模型中,如下所示: <?php class User extends Eloquent { protected $table = 'users'; protected $hidden = array('password', 'remember_token'); public function profiles() { return $this->hasMany('Profi

我已将
profiles
方法添加到
User
模型中,如下所示:

<?php

class User extends Eloquent {

    protected $table = 'users';

    protected $hidden = array('password', 'remember_token');

    public function profiles()
        {
            return $this->hasMany('Profile');
        }

}

应该是这样的:

$profile = $user->profiles->first()->save($profile);
$profile = $user->profile->save($profile);
class User extends Eloquent implements UserInterface, RemindableInterface {

    // Code ...
}
这是因为,
$user->profiles()
返回一个
Profile
模型的集合,因为关系是
有许多
,并且在一个集合上(不选择任何
Profile
模型),您不能调用
save()
方法

但是错误不是因为这个,而是因为您使用了
profiles()
,它应该是
profiles

顺便说一句,我认为您应该使用
hasOne
声明
User
Profile
模型之间的关系,因为一个
User
只能有一个
Profile
,所以可以在您的
User
模型中这样声明:

public function profile()
{
    return $this->hasOne('Profile');
}
因此,您可以像这样调用
save()
方法:

$profile = $user->profiles->first()->save($profile);
$profile = $user->profile->save($profile);
class User extends Eloquent implements UserInterface, RemindableInterface {

    // Code ...
}
在创建
用户
模型时,还应实现两个界面,如下所示:

$profile = $user->profiles->first()->save($profile);
$profile = $user->profile->save($profile);
class User extends Eloquent implements UserInterface, RemindableInterface {

    // Code ...
}

在你的模型课上试试这个

使用Illumb\Auth\UserInterface; 使用Illumb\Auth\Employers\EmployableInterface

类User extends Eloquent实现UserInterface、RemembrableInterface{ 受保护的$table='users'

     protected $hidden = array('password', 'remember_token');

     public function profiles()
          {
        return $this->hasMany('Profile');
         }
}