【发布时间】:2019-04-12 06:11:12
【问题描述】:
我有三个模型成员,贷款和储蓄。贷款和储蓄是会员的孩子。但是,我只能与贷款建立关系。当我与储蓄建立关系时,它认为该功能是非静态的。
会员.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');
}
}
保存.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
我没有遇到过这个问题,缺乏核心概念。
【问题讨论】:
-
Model类已经包含一个名为saving的方法。您必须选择其他名称。 -
我必须做出哪些改变才能与会员建立一对一的关系 - 贷款。除了使用 hasOne 还有什么变化??
-
HasOne是正确的关系。不行吗? -
当我将其更改为 hasOne 时,它会出现“尝试正确获取非对象”错误。我尝试交换密钥,在这种情况下它会给出“foreach 中的无效数据”错误
-
请为此打开一个新问题。