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