如何在数据透视表(Laravel)中访问此值?

时间:2016-07-12 15:38:25

标签: php laravel laravel-5.1

我正在整理一个简单的购物车系统,使用Laravel和Vue.js来销售照片。每张照片都有各种尺寸,每种尺寸的价格都不同。

我有以下表格:

Photos
 - id
 - title

Sizes
 - id
 - dimensions

Photos_Sizes
 - id
 - photo_id
 - size_id
 - price

我正在使用Vue.js对我的购物车控制器进行API调用以操纵购物车。当用户单击“添加到购物篮”按钮时,它会传递photo_id和size_id。当然我想从数据库而不是客户端获取所选项目的价格以防止任何厚颜无耻,这自然意味着查询数据透视表。

我的问题是,使用传递给控制器​​的两个ID,如何在数据透视表中访问正确的价格值?

2 个答案:

答案 0 :(得分:1)

您可以在控制器中使用查询生成器,如下所示:

public function price(Request $request)
{

    $row = DB::table('Photos_Sizes')
        ->where('photo_id', $request->input('photo_id'))
        ->where('size_id', $request->input('size_id'))
        ->first();

    return Response::create($row->price, 200);
}

答案 1 :(得分:0)

在照片和尺寸的关系上,添加->withPivot('price')然后,在获得结果集后,您可以使用$size->pivot->price

访问该字段