Laravel只从数据库中抛出一组数据

时间:2018-01-26 14:45:14

标签: php mysql laravel

我在Laravel中有这个代码,但它只给了我一组数据,尽管它应该返回许多数据。

enter image description here

这就是它给我的回报

{
    "test": {
        "product_name": "Pineapple",
        "price": "50",
        "pricebook_promo_id": "no promo"
    }
}

应该是这样的

{
    "test": {
        "product_name": "Pineapple",
        "price": "50",
        "pricebook_promo_id": "no promo"
    } , {
        "product_name": "Apple",
        "price": "45",
        "pricebook_promo_id": "1"
    } , {
        "product_name": "Banana",
        "price": "40",
        "pricebook_promo_id": "1"
    }
}

2 个答案:

答案 0 :(得分:2)

每次迭代都会覆盖数组中的product_namepricepricebook_promo_id索引。

你应该做$json_output['product_name'][] = $product->product_name;

答案 1 :(得分:0)

foreach循环中,您可以通过以下方式使用$json_output

$json_output[][
    'product_name' => $product->product_name,
    'price' => $product->price,
    'pricebook_promo_id' => ($product->product_promo == 0) ? 'no promo' : $product->product_promo,
];