Php Relationship方法必须返回Illumb\Database\Eloquent\Relations\Relationship类型的对象

Php Relationship方法必须返回Illumb\Database\Eloquent\Relations\Relationship类型的对象,php,laravel,laravel-5,laravel-4,laravel-5.2,Php,Laravel,Laravel 5,Laravel 4,Laravel 5.2,我试着用Laravel的口才建立关系,但我得到了这个错误 Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation 这就是我试图在控制器中执行的操作 $data = $request->all(); $company = Company::create([ 'name' => $data['name'], 'de

我试着用Laravel的口才建立关系,但我得到了这个错误

Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation
这就是我试图在控制器中执行的操作

$data = $request->all();

    $company = Company::create([
      'name' => $data['name'],
      'description' => $data['description'],
    ]);

    $company->members->create([
        'name' => $data['name'],
        'email' => $data['email'],
        'status' => $data['status'],
        'password' => bcrypt($data['password']),
    ]); 
这是我的公司模式

class Company extends Model
{
protected $fillable = [  'name', 'description'];

public function members(){
  $this->hasMany('App\User');
}

public function reports(){
  $this->hasMany('App\Report');
}
}   
这是我的用户模型

class User extends Authenticatable
{
use Notifiable;

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

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


public function company(){
  $this->belongsTo('App\Company');
}
这就是我得到的错误

(1/1) LogicException
Relationship method must return an object of type 
Illuminate\Database\Eloquent\Relations\Relation
in HasAttributes.php (line 403)
at Model->getRelationshipFromMethod('members')
in HasAttributes.php (line 386)
at Model->getRelationValue('members')
in HasAttributes.php (line 316)
at Model->getAttribute('members')
in Model.php (line 1262)
at Model->__get('members')
in AdminController.php (line 48)
at AdminController->addCompany(object(Request))
at call_user_func_array(array(object(AdminController), 'addCompany'), array(object(Request)))
in Controller.php (line 55)
at Controller->callAction('addCompany', array(object(Request)))
in ControllerDispatcher.php (line 44 )

如何解决此错误?

您忘记了按如下方式返回关系:

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

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

public function reports(){
    return $this->hasMany('App\Report');
}

您已忘记按如下方式返回关系:

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

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

public function reports(){
    return $this->hasMany('App\Report');
}

哈哈哈。。。真不敢相信我竟然忘了。。因为这个错误,我差点哭了。。非常感谢您在这里所说的正确:
$company->members->create([…])
$company->members()->create([])
哈哈哈。。。真不敢相信我竟然忘了。。因为这个错误,我差点哭了。。非常感谢这里的正确提示:
$company->members->create([…])
$company->members()->create([])