Hãy nói rằng tôi có bình thường *Type
lớp:Làm thế nào để có được thể hiện của kho lưu trữ thực thể trong lớp Form (Type) trong Symfony 2?
class LocationType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add(...)
...
}
}
và một trong những lĩnh vực là một loại choice
. Các giá trị cần được sử dụng như các mục lựa chọn được cho là được lấy ra từ cơ sở dữ liệu (từ một số kho lưu trữ thực thể cụ thể).
Vì vậy, câu hỏi đặt ra là: cách tải kho lưu trữ trong lớp LocationType
? Là đi qua nó thông qua các nhà xây dựng cách duy nhất để có được nó?
UPD:
tôi biết về entity
loại nhưng tiếc là tôi không thể sử dụng nó, bởi vì tài sản của tôi không phải là và không thể được định nghĩa là one-to-one
liên quan do điều kiện quan hệ rất phức tạp mà Học thuyết không hỗ trợ (chưa ?). Xem How to specify several join conditions for 1:1 relationship in Doctrine 2 biết thêm chi tiết
Tôi không thể làm như vậy, bởi vì thuộc tính 'foo' của tôi không được định nghĩa là bất kỳ quan hệ nào (' một-một-một') vì quan hệ được xác định theo cách rất khó mà giáo lý hiện không hỗ trợ. http://stackoverflow.com/questions/9123264/how-to-specify-several-join-conditions-for-11-relationship-in-doctrine-2 - đây là câu hỏi giải thích trường hợp – zerkms
Xin lỗi, tôi đã không làm như vậy t chỉ định chi tiết quan trọng như vậy trong bản sửa đổi câu hỏi đầu tiên, +1 cho trợ giúp. Bất kỳ suy nghĩ nào khác? – zerkms
Xin chào. Không vấn đề gì. Tôi có thể đã đọc câu hỏi của bạn quá nhanh! Tôi muốn đề nghị '$ this-> buildForm ($ type, $ entity, array ('repository' => $ er))' trong bộ điều khiển của bạn để vượt qua lớp kho lưu trữ như là một tùy chọn cho form của bạn, nhưng tôi đoán câu hỏi của bạn bạn đang tìm cách để tránh điều này. –