如何在laravel关系中检索二级表的详细信息

问题描述 投票:1回答:2

我有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.检索但它没有帮助我

laravel eloquent relationship
2个回答
0
投票

对不起,这是我的错。一些员工ID没有引用银行。这就是我收到错误的原因。我通过使用isset方法验证参考值集来解决了这个问题。

谢谢。


-2
投票

尝试稍微更改您的代码并再试一次:

 public function bank()
 {
        return $this->hasOne('App\Bank');
  }

阅读Laravel官方文档/ **我们可以使用belongsTo方法定义hasOne关系的倒数:** /

© www.soinside.com 2019 - 2024. All rights reserved.