这是我的模型 Receipe
public function favorite()
{
return $this->hasMany('App\ReceipeFavorite');
}
在这里我可以得到
$userId = 1;
$favorite = User::find($userId)->favorite;
return $favorite;
使用此查询,我可以在 receipe_favorites
表中获取 ID 为 user_id
的记录。
即,记录匹配所有具有 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"}]
现在,我想获得收件人姓名和结果。
这是我的表结构
表格
users
->id
receipe
->id
receipe_favorites
->id
->receipe_id
->user_id
注意:
如果传递了用户 ID,我正在尝试获取 Receipe Id、Receipe Name。
最佳答案
尝试以下操作,我也有类似的事情要做:
public function favorite() {
return $this->belongsToMany('App\Receipe', 'receipe_favorites', 'user_id', 'receipe_id');
}
这就是您定义多对多关系的方式。
参数:
- 模型
- 数据透视表
- 要加入当前模型的列
- 要加入 1) 中定义的模型的列
查看更多示例 here
关于php - 使用 Eloquent 时 Laravel 5.1 加入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32585667/