Unrecognized field: user
Loading...
r_panchev97 avatar r_panchev97 75 Точки

Problem with displaying products of current user.

Здравейте, опитвам се да принтирам всички добавени продукти от текущия юзър, но имам проблем. Нищо не се принтира. Ето функцията за листване на продукти в CartController-a. 

 

public function listCartAction()
{
    $cartProducts = $this->getDoctrine()->getRepository('AppBundle:CartProduct')->find($this->getUser());

    return $this->render('cart/cart.view.html.twig', array(
        'cartProducts' => $cartProducts
    ));
}

Ето и twig view-то:

{% extends 'base.html.twig' %}

{% block body %}
    <div style="text-align: center;">
        <h1>Products In My Cart</h1>
    </div>
    {% for cartProduct in cartProducts %}
        {{ cartProducts.product.name }}
    {% endfor %}
{% endblock %}

 

Тагове:
0
PHP Web 27/04/2017 17:32:43
indominus avatar indominus 8 Точки

find() метода наистина търси само по primary key на таблицата, най-често id.

За твоя случай, един от най-лесните варианти е да използваш findBy() ,като му подадеш директно user => $this->getUser() за аргументи.

1
r_panchev97 avatar r_panchev97 75 Точки

Пробвах по този начин и пак не става indecision 

 

public function listCartProductsAction()
{
    var_dump($cart = $this->getDoctrine()->getRepository('AppBundle:Cart')->findBy($this->getUser()));

    return $this->render('cart/cart.view.html.twig', array(
        'cart' => $cart
    ));
}
0
indominus avatar indominus 8 Точки

Е да, findBy() приема масив, като аргумент.

Тоест, ще стане ->findBy(array('user' => $this->getUser()));

3
r_panchev97 avatar r_panchev97 75 Точки

Unrecognized field: user

0