जब मैं लोगों के डेटाबेस के नाम पर क्लिक करता हूं तो मुझे आईडी प्राप्त करने की आवश्यकता होती है (आईडी के लिए धन्यवाद, मुझे ईमेल, फोन नंबर इत्यादि जैसी सभी व्यक्तिगत जानकारी मिल जाएगी।)

        <ul>
            {% for quote in agency.quotes %}
                <li><a href="{{ path('user_individualQuote') }}"> {{ quote.prospect.fullname }} 
                </a></li>
            {% endfor %}
        </ul>

1 यह पृष्ठ का नियंत्रक है:

/**
 * @Route("/individualQuote", name="user_individualQuote", methods={"GET","POST"})
 **/
public function getIndividualQuote(ProspectRepository $prospectRepository): Response
{


    return $this->render('user/_individualQuote.html.twig', [
        'prospect' => $prospectRepository->findAll(),

    ]);
}

मेरा डेटाबेस:

2

अपवाद लॉग, जानकारी अनुरोध:

3

0
LIONEL LIONEL 19 पद 2020, 17:47
शायद यहां शुरू करें।
 – 
Cerad
19 पद 2020, 18:05

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा लगता है कि getIndividualQuote मार्ग सभी उद्धरणों को वापस कर देगा।

एक @ParamConverter पर SensioFrameworkExtraBundle से। (composer require sensio/framework-extra-bundle के साथ स्थापित करें)

तो, वहीं से शुरू करें -

<?php

use namespace App\Entity\Prospect; // Or wherever your Prospect class is

/**
 * @Route("/individualQuote/{id}", name="user_individualQuote", methods={"GET","POST"})
 **/
public function getIndividualQuote(Prospect $prospect): Response
{
    return $this->render('user/_individualQuote.html.twig', [
        'prospect' => $prospect
    ]);
}

मुख्य परिवर्तन यह है कि मार्ग url में से एक $id को पार्स करने और उसकी आईडी के आधार पर एक Prospect खोजने पर निर्भर करता है। https://symfony.com/doc/current/routing.html#parameter- रूपांतरण

फिर, आपको टहनी को कुछ अतिरिक्त पैरामीटर देकर उस आईडी को URL में पास करना होगा path हेल्पर फंक्शन{id: quote.prospect.id}.

<ul>
     {% for quote in agency.quotes %}
         <li>
            <a href="{{ path('user_individualQuote', {id: quote.prospect.id}) }}"> {{ quote.prospect.fullname }}</a>
         </li>
     {% endfor %}
</ul>
0
Cameron Hurd 19 पद 2020, 21:29
अच्छा नया, यह है कि मुझे अंततः अपने यूआरएल में आईडी मिल गई। लेकिन मुझे यह त्रुटि मिली: "तर्क 2 ऐप \ नियंत्रक \ UserController :: getIndividualQuote () को पास किया गया int, स्ट्रिंग दिए गए प्रकार का होना चाहिए"
 – 
LIONEL LIONEL
19 पद 2020, 21:00
क्या होता है जब आप {{ dump(quote.prospect.id) }} कहीं अपने टहनी टेम्पलेट में?
 – 
Cameron Hurd
19 पद 2020, 21:02
एक फिल्टर के साथ बस int में कनवर्ट करना पड़ सकता है। :) ` {{quot.prospect.fullname}}`
 – 
Cameron Hurd
19 पद 2020, 21:03
मैंने डंप की कोशिश की लेकिन त्रुटि ने उसे रोक दिया। मैंने "|int'' भी जोड़ने की कोशिश की। वही बग।
 – 
LIONEL LIONEL
19 पद 2020, 21:19
पता नहीं "त्रुटि उसे अवरुद्ध करती है" का क्या अर्थ है। :(
 – 
Cameron Hurd
19 पद 2020, 21:19