Laravel通过hasManyThrough获取模型

时间:2015-06-01 08:56:40

标签: php laravel-4 laravel-5

我有3个类 - User,Business和BusinessRoleUser(以及各自的表)

  

(用户)id | first_name |姓氏

     

(业务)business_id | BUSINESS_NAME

     

(business_role_user)user_id | business_id | ROLE_ID

我已将用户的角色合并到同一个表中,因为用户可以拥有多个角色,这些角色可以用于business_roles表中的业务,即管理员,员工等。

我想通过登录用户访问商业模式来更新字段,即

$business = User::find(Auth::id())->business();

$business->fill(Input::all());
$business->save();

目前在我的User类中我有以下内容(实际上每个用户只与一个商家相关联):

public function business()
    {
        return $this->hasManyThrough('App\Business', 'App\BusinessRoleUser', 'business_id', 'user_id');
    }

但如果我做一个简单的dd(User::find(Auth::id())->business->business_name);

它会抛出错误

  

商家名称未定义

实际上并没有找到与用户相关联的商业模式。我已经看过很多hasManyThrough的例子,但是我没有让它工作,感谢帮助!

(注意用户表使用id,而其他表使用user_id,不确定这是否导致问题)

0 个答案:

没有答案