2015-09-15 34 views
1

加入的問題這裏是我的模型ReceipeLaravel 5.1,而使用雄辯

public function favorite() 
{ 
    return $this->hasMany('App\ReceipeFavorite'); 
} 

在這裏我可以能夠得到

$userId = 1; 
$favorite = User::find($userId)->favorite; 
return $favorite; 

使用這個我也能夠在與ID user_id來獲取該記錄通過查詢此表查詢receipe_favorites表。所有coloumns與user_id

即記錄匹配 - 1

$favorite = User::find(1)->favorite; 
return $favorite; 


[{"id":1,"receipe_id":"1","user_id":"1","created_at":"2015-09-15 15:49:12","updated_at":"2015-09-15 15:49:12"},{"id":2,"receipe_id":"2","user_id":"1","created_at":"2015-09-15 15:50:07","updated_at":"2015-09-15 15:50:07"}] 

現在,我希望得到的Receipe名稱與結果一起。

這裏是我的表結構

users 
->id 

receipe 
->id 

receipe_favorites 
->id 
->receipe_id 
->user_id 

注:

我試圖讓Receipe標識,Receipe名稱如果用戶ID被傳遞。

+0

你有三張表(用戶,r eceipe,receipe_favorites)? – RaMeSh

+0

是的,我有這樣的3張桌子 –

回答

2

試試下面,我也有過類似的事情:

public function favorite() { 
    return $this->belongsToMany('App\Receipe', 'receipe_favorites', 'user_id', 'receipe_id'); 
} 

這是你如何定義一個多一對多的關係。

PARAMS:

  1. 模型
  2. 透視表
  3. 列在當前模型加入
  4. 柱加入在1定義的模型)

詳見實例here