我有3张桌子
bank(id, title),
employee(id, name, bank_id),
payroll(id, employee_id, salary).
现在我想在title
表中检索employee_id
的银行payroll
。
我已经建立了模型关系
class Bank extends Model
{
public function employees()
{
return $this->hasMany('App\Employee');
}
}
class Employee extends Model
{
public function bank()
{
return $this->belongsTo('App\Bank');
}
public function payrolls()
{
return $this->hasMany('App\Payroll');
}
}
class Payroll extends Model
{
public function employee()
{
return $this->belongsTo('App\Employee');
}
}
我试图使用$payroll->employee->bank->title.
检索但它没有帮助我
对不起,这是我的错。一些员工ID没有引用银行。这就是我收到错误的原因。我通过使用isset方法验证参考值集来解决了这个问题。
谢谢。
尝试稍微更改您的代码并再试一次:
public function bank()
{
return $this->hasOne('App\Bank');
}
阅读Laravel官方文档/ **我们可以使用belongsTo方法定义hasOne关系的倒数:** /