这是我的模型Receipe
public function favorite()
{
return $this->hasMany('App\ReceipeFavorite');
}
在这里我可以得到
$userId = 1;
$favorite = User::find($userId)->favorite;
return $favorite;
通过使用这个查询,我可以获取
user_id
表中idreceipe_favorites
的记录。也就是说,用
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 Id,如果传递了用户Id,则为Receipe Name。
最佳答案
试试下面,我也有类似的事情要做:
public function favorite() {
return $this->belongsToMany('App\Receipe', 'receipe_favorites', 'user_id', 'receipe_id');
}
这就是你如何定义一种多对多的关系。
参数:
模型
数据透视表
要加入当前模型的列
1)中定义的连接模型的列
查看更多示例here