2012-05-22 13 views
14

के साथ संग्रहीत प्रक्रियाओं को निष्पादित करने के लिए कैसे मैं एक सिम्फनी 2 एप्लिकेशन में काम कर रहा हूं और मुझे कुछ उच्च प्रदर्शन प्रक्रियाओं के लिए संग्रहीत प्रक्रियाओं का उपयोग करने की आवश्यकता है।Doctrine2 और MySQL

Doctrine2 का उपयोग कर एक MySQL संग्रहीत प्रक्रिया निष्पादित करने (और पैरामीटर प्रबंधित करने) का कोई तरीका है?

समाधान:

$em = $this->getDoctrine()->getEntityManager(); 
$qb = $em->createNativeQuery(
     'CALL USR_P_UserRegistration (' . 
      ':iduser, :name, :surname, :birthday, :idlang, :idregistry' . 
     ')', 
     new ResultSetMapping() 
    ); 
$qb->setParameters(
    array(
     'iduser' => $c->getIduser(), 
     'name' => $c->getName(), 
     'surname' => $c->getSurname(), 
     'birthday' => $c->getBirthday(), 
     'idlang' => $c->getIdlang(), 
     'idregistry' => $c->getIdregistry() 
    )); 
$qb->execute(); 
$em->flush(); 

उत्तर

7

आप मूल निवासी एसक्यूएल उपयोग कर सकते हैं और तुम भी डेटा पुनर्प्राप्ति के लिए संग्रहित प्रक्रियाओं इस्तेमाल कर सकते हैं।

doc Native sql

या आप MySQL (ऊपर विवरण) से इस लिंक

How to use Stored Procedures with Symfony and Doctrine

+0

मैं एक सामान्य त्रुटि मिल देख सकते हैं। शायद मैं गलत निष्पादन विधि का उपयोग कर रहा हूँ? – unairoldan