2016-07-10 131 views
0

我有3个型号:User,Program,UserProgram。 UserProgram是它自己的实际模型。Laravel HasManyThrough Keys

这里是车型的外观在数据库:

  • 用户
    • ID
  • 程序
    • ID
  • 个user_programs
    • USER_ID
    • program_id

我想在我的计划模型:

function users() { 
    return $this->hasManyThrough('App\User','App\UserProgram'); 
} 

但是,这是行不通的。我怎样才能使这种关系起作用?

回答

2

hasManyThrough不用于此目的。你需要一个many-to-many关系。

class Users { 
    public function programs() { 
    return $this->belongsToMany('App\Program', 'user_programs', 'user_id', 'program_id'); 
    } 
} 

class Program { 
    public function users() { 
    return return $this->belongsToMany('App\User', 'user_programs', 'program_id', 'user_id'); 
    } 
} 
+0

太谢谢你了!这非常有帮助! – Aaron

相关问题