Laravel 无法创建与多个子模型的关系

Laravel 无法创建与多个子模型的关系,laravel,eloquent,model,Laravel,Eloquent,Model,我有三种会员模式,贷款和储蓄。贷款和储蓄是会员的子女。但是,我只能创建与贷款的关系。当我创建与储蓄的关系时,它认为该函数是非静态的 Member.php use Illuminate\Database\Eloquent\Model; class Member extends Model { protected $fillable=['name','address','phone']; public function loan() { return $this->hasMany

我有三种会员模式,贷款和储蓄。贷款和储蓄是会员的子女。但是,我只能创建与贷款的关系。当我创建与储蓄的关系时,它认为该函数是非静态的

Member.php

use Illuminate\Database\Eloquent\Model;
class Member extends Model
{
 protected $fillable=['name','address','phone']; 
 public function loan()
{
    return $this->hasMany(Loan::class,'member_id','id');
}
 public  function saving()
{
    return $this->hasMany(Saving::class,'member_id','id');
}
}

Saving.php

  use Illuminate\Database\Eloquent\Model;
  class Saving extends Model
  {
  protected $fillable=['amount','member_id']; 
   public function member()
   {
    return $this->belongsTo('App\Member','id','member_id');
    }
}

函数saving()给出以下错误

 Error::Cannot make static method Illuminate\Database\Eloquent\Model::saving() non static in class App\Member

我以前没有遇到过这个问题,缺乏核心概念。

您在belongsTo关系中提供了错误的密钥,请提供以下内容:

public function member()
{
return $this->belongsTo('App\Member','member_id','id');
}

在Model.php中,更改以下内容

public function loan()
{
    return $this->hasMany('App\Loan','member_id','id');
}
 public  function saving()
{
    return $this->hasMany('App\Saving','member_id','id');

我也试过了。它不起作用。我交换了键以尝试使用一个关系。
Model
类已经包含一个名为
saving
的方法。你必须选择一个不同的名字。我需要做什么改变才能与会员贷款建立一对一的关系。除了使用hasOne,还有什么变化???
hasOne
是正确的关系。它不工作吗?当我把它改成hasOne时,它会给出“尝试正确地获取非对象的对象”错误。我尝试过交换密钥,在这种情况下会出现“foreach中的数据无效”错误。请就此提出一个新问题。所以函数saving()已经被laravel本身使用。。。我把它改为函数savings(),它成功了。谢谢你们两位。