如何通过连接表获取属于当前模型的其他模型?

时间:2015-08-28 16:09:13

标签: laravel laravel-5 laravel-5.1

共有3个表格(型号):预订,用户,酒店

预订belongsTo用户和酒店。

用户hasMany预订,以及酒店hasMany预订。

如何获得用户为其预订的所有酒店?任何可迭代的数组(集合)。

1 个答案:

答案 0 :(得分:2)

用户模型

public function hotels(){
  // where booking is the name of the pivot table
  return $this -> belongsToMany('Hotel','booking') 
         ->pivot('columns from pivot table'); <-- optional: only if you want to return columns from the pivot table.

}

酒店模特

public function users(){
   // where booking is the name of the pivot table
  return $this -> belongsToMany('User','booking') 
         ->pivot('columns from pivot table'); <-- optional: only if you want to return columns from the pivot table.
}

$hotels = User::with('hotels') -> get(); 
$users = Hotel::with('users') -> get(); 

Et瞧,您拥有用户预订的所有酒店 希望这有帮助。