Tôi mới vào xây dựng truy vấn Symfony2, đây là những gì tôi làm:Lỗi: Đường dẫn không hợp lệ. Phải là một StateFieldPathExpression
$builder
->add('access', 'entity', array(
'label' => 'Behörigheter',
'multiple' => true, // Multiple selection allowed
'expanded' => true, // Render as checkboxes
'property' => 'name', // Assuming that the entity has a "name" property
'class' => 'BizTV\ContainerManagementBundle\Entity\Container',
'query_builder' => function(\Doctrine\ORM\EntityRepository $er) use ($company) {
$qb = $er->createQueryBuilder('a');
$qb->where('a.containerType IN (:containers)', 'a.company = :company');
$qb->setParameters(array('containers' => array(1,2,3,4), 'company' => $company));
return $qb;
}
));
Nó hoạt động tốt, ngoại trừ tôi muốn đặt hàng đơn vị của tôi bằng cách containerType (đó là một lĩnh vực quan hệ, FK).
Khi tôi thêm dòng này:
$qb->orderBy('a.containerType', 'ASC');
tôi nhận được Lỗi: PathExpression không hợp lệ. Phải là StateFieldPathExpression.
Vì vậy, điều này là gì - tôi có thể sử dụng trường mối quan hệ containerType trong mệnh đề where của tôi nhưng không phải trong mệnh đề sắp xếp của tôi? Hay tôi còn thiếu cái gì khác?
Có, nhưng sắp xếp theo fk đó sẽ làm trong trường hợp này, nhưng rõ ràng là tôi không thể. Chỉ cần tìm thấy nó lạ rằng nó sẽ cho phép tôi sử dụng nó trong mệnh đề where mà không tham gia, nhưng không phải trong sắp xếp. Cảm ơn mặc dù, sẽ thử nó. –