【发布时间】:2018-04-04 09:32:04
【问题描述】:
我正在使用 Laravel 5.4。我有我在用户模型中创建的方法。当我想从 User 模型创建一个对象并调用我自己的方法时,我无法访问我添加的方法。
User Model 是从 5.4 的 Authenticable 类派生的,该类更早是从 Model 类派生的。我认为问题在于它。我真正想做的是设置belong_to、has_many 结构以将用户模型与其他模型相关联。
但是对于用户模型,我不这样做。你有什么推荐的?
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function getMakale()
{
return $this->hasMany(Makale::class, 'user_id', 'id');
}
}
$author = User::first();
return method_exists($author,'getMakale');
//最终变为假
【问题讨论】:
-
这不是我想要的
-
简而言之,您想创建与其他模型的关系,但您不想将这些模型称为关系,但您试图简单地调用创建连接的方法?为什么这是必要的?