2015-09-15 142 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