मैं Syctfony2 का उपयोग Doctrine2 के साथ करता हूं। वहाँ निम्नलिखित संस्थाओं हैं: कह रही है किDoctrine2 findBy() तालिका तालिका में शामिल हो गया
$repository = $this->getDoctrine()->getRepository('AcmeConsysBundle:Person');
$people = $repository->findBy(
array(),
// here I want to order by the company name
// that is taken from the Company entity
array('company.name' => 'asc')
);
निश्चित रूप से यह कोड काम नहीं करता,:
/**
* Person
*
* @ORM\Entity(repositoryClass="Acme\Bundle\ConsysBundle\Entity\PersonRepository")
* @ORM\HasLifecycleCallbacks
* @ORM\Table(name="person")
*/
class Person
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
*
* @ORM\ManyToOne(targetEntity="Company", inversedBy="persons", fetch="EAGER")
* @ORM\JoinColumn(name="company_id", referencedColumnName="id", onDelete="SET NULL")
*/
private $company;
}
और
/**
* Company
*
* @ORM\Entity(repositoryClass="Acme\Bundle\ConsysBundle\Entity\CompanyRepository")
* @ORM\HasLifecycleCallbacks
* @ORM\Table(name="company")
*/
class Company
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, unique=true)
*/
private $name;
}
अब मेरी नियंत्रक में मैं निम्नलिखित कार्य करने होंगे "company.name" अपरिचित है। लेकिन फिर मैं उस कॉलम से कैसे आदेश दे सकता हूं? क्या FindBy() का उपयोग करना संभव है? आप कंपनी द्वारा व्यक्ति संस्थाओं के किसी वर्तमान संग्रह सॉर्ट करने के लिए चाहते हैं
मुझे लगता है कि यह findby के साथ संभव नहीं है, लेकिन आप कर सकते हैं एक कस्टम्यूरी – 0x1gene
कृपया मेरे उत्तर की समीक्षा करें और टिप्पणी करें अगर कुछ अस्पष्ट है - अन्यथा इसे स्वीकार करने के लिए कृपया :) – nifr