В symfony 2.8 возникла проблема при создании модуля проверки - PullRequest
0 голосов
/ 18 февраля 2019

РЕДАКТИРОВАТЬ: так что я закрываю эту ветку, потому что я изменяю свой метод, как оформить заказ, поэтому я закрываю это и обновляю свой новый метод, как достичь ожидаемого результата :) Приветствую вас и спасибо за вас, ребята, которые хотят помочь мне

ОРИГИНАЛЬНАЯ ПОЧТА Я нахожусь в трудной ситуации, чтобы сделать функцию оформления заказа в моем маленьком проекте, и я нашел решение здесь.

Проблемы с Symfony 3 с получением правильной цены и именимоя проверка

, но когда я принимаю решение и пытаюсь проверить, я получаю это сообщение об ошибке ...

Идентификатор идентификатора отсутствует для запроса AppBundle \Entity \ Product

так, какой шаг я должен сделать, чтобы исправить это

Я сделал поиск в Google с ключевым словом Идентификатор идентификатора отсутствует для запроса AppBundle и открывает некоторый поток в stackoverflowкак этот Symfony3 Идентификатор идентификатора отсутствует для запроса AppBundle \ Entity \

, а этот Symfony3 Идентификатор идентификатора отсутствует длязапрос AppBundle \ Entity \

и этого Symfony3 Идентификатор идентификатора отсутствует для запроса AppBundle \ Entity \

, но все еще не решает мою проблему

здесь мой код оформления заказа

/**
 * @Route("/checkout/{id}", name="cart_checkout")
 */
public function checkout()
{
    $session = $this->get('request_stack')->getCurrentRequest()->getSession();
    $cart = $session->get('cart', array());

    foreach($cart as $id => $quantity) {

        $em = $this->getDoctrine()->getEntityManager();
        $product = $em->getRepository('AppBundle:Product')->find(key($cart));
    }

    $em = $this->getDoctrine()->getEntityManager();
    $product = $em->getRepository('AppBundle:Product')->find(key($cart));

    return $this->render('checkout/index.html.twig', array(
        'product' => $product,
        'price' => $product->getPrice(),
        'name' => $product->getName(),
    ));
}

и это мой просмотр оформления заказа

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

   {% block body %}
    <h1>Checkout</h1>
    {% if empty is defined %}
        <h5>Your shopping cart is empty.</h5>
    {% endif %}

    {% set cart = app.session.get('cart') %}

    {% if product is defined %}

        <ul class="thumbnails">
        {% if app.session.flashbag.has('notice') %}

            <div class="flash-notice">

                {{ app.session.flashbag.has('notice') }}

            </div>

        {% endif %}
    <table class="table">
        <thead>
            <th>Product</th>
            <th>ID</th>
            <th>Amount</th>
            <th>Price</th>
        </thead>
    {% for key, item, price in cart %}
        <tr class="col-span-6">
            <td><b>{{ name }}<b></td>
            <td>{{ key }}</td>
            <td>{{ item }}</td>
            <td>{{ price }}</td>
        </tr>
    {% endfor %}
    </table>
    {% endif %}

    <a href="{{ path('product_display') }}">Product</a>

{% endblock %}

href из вида корзины

<td><a href = "{{ path('cart_checkout', { 'id': x.Id }) }}">Checkout</a></td>

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

1 Ответ

0 голосов
/ 18 февраля 2019

Вы сделали принудительное обновление?

php app/console doctrine:schema:update --force
php bin/console doctrine:schema:update --force

И добавили в определение $ id

public function checkout($id)
...