Php 从数据透视表获取数据
我有两张带透视表的桌子 表用户 id |姓名|电子邮件 表饮料 id |名称|价格 透视表用户\u饮料 id |用户id |饮料id |数量|价格|状态 饮料型号Php 从数据透视表获取数据,php,laravel,eloquent,Php,Laravel,Eloquent,我有两张带透视表的桌子 表用户 id |姓名|电子邮件 表饮料 id |名称|价格 透视表用户\u饮料 id |用户id |饮料id |数量|价格|状态 饮料型号 public function users() { return $this->belongsToMany('App\User', 'user_drinks', 'drink_id', 'user_id')->withPivot('price', 'quantity')->withTimestamps(); }
public function users()
{
return $this->belongsToMany('App\User', 'user_drinks', 'drink_id', 'user_id')->withPivot('price', 'quantity')->withTimestamps();
}
public function drinks()
{
return $this->belongsToMany('App\Drink', 'user_drinks', 'drink_id', 'user_id')->withPivot('price', 'quantity')->withTimestamps();
}
用户模型
public function users()
{
return $this->belongsToMany('App\User', 'user_drinks', 'drink_id', 'user_id')->withPivot('price', 'quantity')->withTimestamps();
}
public function drinks()
{
return $this->belongsToMany('App\Drink', 'user_drinks', 'drink_id', 'user_id')->withPivot('price', 'quantity')->withTimestamps();
}
我想从数据透视表中获取购买饮料的最新用户以及价格和数量,例如
名为John的用户1以50美元的价格购买了2杯咖啡
名为Jane的用户2以75美元的价格购买了3杯咖啡将此关系用于用户模型
public function drinks()
{
return $this->belongsToMany(Drink::class, 'user_drinks')->withPivot(['quantity', 'price','status'])->withTimestamps();
}
要获得它:
$user = User::with(['drinks' => function ($q) {
$q->orderBy('created_at', 'desc');
}])->orderByDesc('drinks.created_at')->get();
使用belongToMany关系。堆栈溢出不是代码编写服务。请用您遇到的具体错误发布您在代码工作方面的最佳尝试。@Yaskur谢谢,但这将返回第一个用户购买的所有饮料,我想获取任何用户购买的最新饮料Yaskur,现在它返回尚未购买饮料的用户,我只需要那些已购买饮料的用户。我已经编辑了我的问题。谢谢