Laravel从另一个表中获取数据

时间:2016-03-30 10:33:09

标签: laravel eloquent

我有两张桌子:

附件 ID,代码,细节

PriceRevision ID,accessories_id,revised_price

我想跟随json:

[
{ "id": 1, "code": "G4007", "detail": "Flyscreen round Gasket -7", "revised_price::25 }
,
{ "id": 2, "code": "CZBR-100S", "detail": "Single Bearing Roller " "revised_price::35 }
]

我如何结合两个表来获得上述结果?我假设我必须加入这两个表?

我做过类似的事情,但只得到配件表的数据:

$data3=InventoryAccessories::select('id','code','sl_detail')
        ->get();

        foreach ($data3 as $d) {
            $data4=ProductPriceRevision::select('revised_price')->get();
            # code...
        }

        return $data3;

2 个答案:

答案 0 :(得分:0)

如果您使用Laravel的eloquent ORM,那么您可以通过简单地设置两个表之间的关系(一对多,多对多等)来实现。然后,您可以访问另一个表格,如:

$accessories = InventoryAccessories::all();
$accessories->priceRevision->revised_price;

其中$accessories是一个变量,它只包含使用eloquent的数据库中的所有附件。 然后你可以格式化数据以生成你想要的json 在这里,您可以找到设置两个表之间关系的方法:Click Me

否则,您可以通过使用Query Builder连接两个表来从db获取这些数据来进行查询。在这里,您可以找到如何使用查询构建器连接两个表:https://laravel.com/docs/5.1/eloquent-relationships

答案 1 :(得分:0)

您可以尝试$model->with('relation');

之类的内容