Laravel 5 LARAVEL 5.4从其他类访问用户obj

Laravel 5 LARAVEL 5.4从其他类访问用户obj,laravel-5,eloquent,Laravel 5,Eloquent,如何从另一个对象的实例访问用户对象? 我可以访问用户的项目,但不能访问项目的作者 这: $user_id = App\Project::find(1)->user_id; $user = App\User::find($user_id); 返回一个用户 但这是: $user = App\Project::find(1)->author; 返回空值 预期行为:获取用户 用户类: namespace App; use Illuminate\Notifications\Notifi

如何从另一个对象的实例访问用户对象? 我可以访问用户的项目,但不能访问项目的作者

这:

$user_id = App\Project::find(1)->user_id;
$user = App\User::find($user_id);
返回一个用户

但这是:

$user  = App\Project::find(1)->author;
返回空值

预期行为:获取用户

用户类:
namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
use Notifiable;

protected $fillable = [
    'name', 'email', 'password'
];

protected $hidden = [
    'password', 'remember_token',
];

public function projects()
{
    return $this->hasMany('App\Project');
}
}
项目类别:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Project extends Model
{
protected $fillable = [
    'title', 'content'
];

public function category()
{
    return $this->belongsTo('App\Category');
}

public function author()
{
    return $this->belongsTo('App\User');
}
}

在项目模型中,更改以下内容:

public function author()
{
    return $this->belongsTo('App\User');
}
为此:

public function author()
{
    return $this->belongsTo('App\User', 'user_id');
}

Laravel搜索名为关系名称加上_id的外键,在代码中搜索作者id,如果添加第二个参数,则将其更改为搜索用户id

what return App\Project::find1->user_id;null或数字?它返回一个数字我用用户替换了方法author,现在它是fineauthor{return$this->belongsTo'App\Post',user\u id',或者它搜索一个author\u idok谢谢!