Получение определенных данных из экземпляра - PullRequest
1 голос
/ 15 апреля 2020

Я пытаюсь сделать корзину в Laravel, и я все еще учусь.

В корзине я пытаюсь распечатать детали товаров, присутствующих в корзине, вместе с их количеством ,

Информация о нескольких продуктах в корзине представлена ​​в $prod, а количество - в $cart. Я использую foreach для доступа к каждому продукту корзины, а также к ее количеству.

Объясняющим образом я пытаюсь сделать это:

@foreach( $prod as $p )
    <td>Quantity = {{ $cart[ "product_id" == $p->id]->quantity }}<td>
@endforeach

Я пытаюсь сопоставить $p->id, детали, которые я печатаю, с количеством в $cart поскольку $cart имеет атрибут product_id в таблице.

Извините, если не могу правильно объяснить вопрос.

Спасибо.

1 Ответ

1 голос
/ 15 апреля 2020

Это решение предполагает, что вы используете Eloquent Models, если вы не должны. В вашей модели Product.php определите отношения.

class Product extends Model {
    public function cart()
    {
        // Laravel automatically know to look in carts table for an product_id column
        return $this->belongsTo(Cart::class);
    }
}

Теперь у вас есть метод отношений для вашей корзины, это полезно, если вы хотите сохранить его. Для того, чтобы просто загрузить его из базы данных, при доступе к $product->cart он автоматически выберет модель Cart.php. Так что вы можете просто написать.

@foreach( $prod as $p )
    <td>Quantity = {{ $p->cart->quantity }}<td>
@endforeach
...