(Laravel / Eloquent)如何连接4个表进行1次查询

时间:2015-06-01 20:00:16

标签: laravel join eloquent

我是Laravel的新手,我想要一些查询帮助。这是我的情况。我有4张桌子:

  • 用户(身份证,电子邮件,密码.....)
  • user_profile(id,first_name,last_name,........,user_id)
  • 公司(id,name,.......)
  • 策略(id,policy_num,exp_date,.........,user_id,company_id)

表用户有5个用户,每个用户有10个策略。该表公司有3家公司。

$user_data=User::select('*')
                ->with('profile','policies')
                ->where('id', '=', $userId)
                ->first();

此代码运行良好,它会检索此用户的所有用户和user_profile字段以及所有策略(10),如此图所示,我可以向用户显示产品的详细信息。主页。

Click here to view the image

我希望代替出现来自政策表的company_id,而不是公司表中出现的公司名称。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

感谢您的回答ceejayoz,我已经做过了。

用户

public function profile()
    {
        return $this->hasOne('UserProfile');
    }

public function policies()
    {
        return $this->hasMany('Policy');
    }

政策

public function company()
    {
        return $this->hasOne('Company');
    }