Как установить массив внутри массива в файле list.blade в laravel? - PullRequest
0 голосов
/ 01 августа 2020

Я получаю ответ ниже от файла контроллера

{
    "s": "1",
    "m": "orders",
    "d": [
        {
            "ordid": "1",
            "u_id": "49",
            "products": {
                "id": "115",
                "amount": "500",
                "prod_id": "107"
            },
            {
                "id": "116",
                "amount": "1000",
                "prod_id": "109"
            }
            "total_mrp": 1068,
            "total_discount": 112
        }
    ]
}

Мне нужно показать данные, как показано ниже, используя таблицу HTML в моем файле list.blade.

введите описание изображения здесь

Я использую приведенный ниже код в моем файле list.blade, но он не работает, и я немного новичок в laravel. Так что, пожалуйста, кто-нибудь может мне помочь? Что не так с моим кодом?

@foreach($orders as $order) 
  ....  
    <tr>
      <td>
        @foreach($order->products as $prod) 
          <tr></tr>
        @endforeach
      </td>
    <tr>
  ....
@endforeach

Обновлено

ниже мой код контроллера

function list(Request $request) {            

    $orders = DB::table('orders')
        ->paginate(10);

    foreach($orders as $order) {

        $data = DB::table('store_orders')
            ->where('order_cart_id', $order->cart_id)
            ->get();

        foreach ($data as $d) {
            
            $data1 = DB::table('pv_attributes')
            ->leftjoin('product', 'product.product_id', '=', 'pv_attributes.product_id')
            ->where('id', $d->va_id)
            ->first();

            $order->products = $data1;

        }
    }

    return view('admin.account_section.list', compact('title', "admin", "logo", "orders"));
}

Ответы [ 2 ]

0 голосов
/ 01 августа 2020

впишите сюда описание изображения

если в виде массива, то так можно добраться до данных, думаю есть еще много красивых способов, наспех закинул этот код, я надеюсь, это поможет вам Извините за изображение, не удалось вставить код

0 голосов
/ 01 августа 2020

Думаю, вы написали order в единственном числе вместо orders. Это должно решить проблему именования, и пока ваш $orders является одним экземпляром модели, а не коллекцией, код должен работать нормально.

Если вы передали $orders как коллекцию Order, вы будете необходимо выполнить итерацию коллекции.

@foreach($orders as $order) 
  @foreach($order->products as $product)
     //your code
  @endforeach
@endforeach

Если вы хотите передать только один Order, вам может потребоваться изменить некоторые logi c в вашем контроллере. (Судя по вашему вопросу, это может быть так)

...