Laravel用户关系停止工作(Laravel User relations stopped wor

2019-09-30 07:43发布

我刚刚下载和启动一个新的项目与最新Laravel 4.2。

我的问题是在User模式,如果我定义它不工作的任何关系。

用户模型

 use Illuminate\Auth\UserTrait; use Illuminate\Auth\UserInterface; use Illuminate\Auth\Reminders\RemindableTrait; use Illuminate\Auth\Reminders\RemindableInterface; class User extends Eloquent implements UserInterface, RemindableInterface { use UserTrait, RemindableTrait; /** * The database table used by the model. * * @var string */ protected $table = 'users'; /** * The attributes excluded from the model's JSON form. * * @var array */ protected $hidden = array('password', 'remember_token'); public function metadata() { return $this->hasOne('Metadata'); } public function test() { return "hello test"; } } 

元数据模型

 class Metadata extends Eloquent { public $timestamps = false; protected $primaryKey = 'user_id'; protected $table = "users_metadata"; protected $fillable = array('user_id', 'first_name', 'last_name'); public function user() { return $this->belongsTo('User'); } } 

所以,如果我这样做

$user =  User::find(1);

dd($user->metadata);

我回去Null ,以上我在做了一个试验方法, User模型

如果我这样做:

$user =  User::find(1);

dd($user->test());

我得到

Call to undefined method Illuminate\Database\Query\Builder::test() 

为什么? 这是明显存在的。 我把我的代码在更早的版本,它工作得很好。

而真正让我困惑的是,如果我这样做:

$metadata =  Metadata::find(1);

dd($metadata->user);

它正常工作与belongsTo方法,我测试User模型与其他关系-相同的结果。

文章来源: Laravel User relations stopped working