Symfony2'yi Doctrine2 ile kullanıyorum. Aşağıdaki kişiler vardır: söyleyerekDoctrine2 findBy() harfe bağlı tablo alanı
$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')
);
elbette bu kod çalışmaz:
/**
* 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;
}
ve
/**
* 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;
}
Şimdi benim denetleyicisi aşağıdakileri yapmanız gerekir "company.name" tanınmıyor. Ama sonra o sütundan nasıl sipariş verebilirim? FindBy() kullanarak yapmak mümkün mü? Eğer Şirket tarafından Kişi varlıkların mevcut bir koleksiyonu sıralamak isterseniz
Ben findby mümkün olmadığını düşünüyorum, ancak yapabilir sizin PersonRepository
bu eklemek Bir özel bir – 0x1gene
lütfen cevapımı gözden geçirin ve herhangi bir şey belirsizse yorum yapın - aksi halde kabul edin :) – nifr