Trong dự án Symfony2 của tôi, tôi đã cố gắng để tự động tạo ra các đối tượng sử dụng trong loại hình thức của tôi, bằng cách đi qua việc sử dụng các truy vấn xây dựng, vvloại bù đắp bất hợp pháp trong isset hoặc trống trong dòng EntityChoiceList.php 273
Để ông lựa chọn thực thể tài sản Tôi đang cung cấp một mảng các thực thể được sử dụng. Khi tải trang, mọi thứ có vẻ tốt và nội dung chính xác được hiển thị. Tuy nhiên trên hình thức trình tôi nhận được
bất hợp pháp bù đắp gõ isset hoặc trống trong dòng EntityChoiceList.php 273
at ErrorHandler ->handle ('2', 'Illegal offset type in isset or empty',
'..../Symfony/Bridge/Doctrine/Form/ChoiceList/EntityChoiceList.php', '273', array('key' => object(myEntity))) in ..../Symfony/Bridge/Doctrine/Form/ChoiceList/EntityChoiceList.php at line 273
.....
return isset($entities[$key]) ? $entities[$key] : null;
.....
gì đã cho tôi bối rối là nếu tôi thêm var_dump (isset ($ this-> các thực thể [$ key])); ở trên dòng này tôi được trả về 'bool (true)' mà với tôi có nghĩa là chìa khóa không tồn tại.
Là nền tôi đã cố gắng để mở rộng EntityType, để dễ trong dự án của tôi và nói thêm:
public function getDefaultOptions(array $options)
{
$defaultOptions = array(
'em' => null,
'class' => 'Acme\TestBundle\Entity\myEntity',
'property' => null,
'query_builder' => null,
'choices' => $this->myEntityArray,
);
$options = array_replace($defaultOptions, $options);
$defaults = parent::getDefaultOptions($options);
return $defaults;
}
Có bất kỳ một ý tưởng nào tại sao tôi nhận được lỗi này, hoặc tôi sẽ về vấn đề của tôi tất cả sai anyway , với việc cố gắng truyền một mảng các thực thể tới các lựa chọn?
tôi cảm thấy thực sự câm cho lãng phí 2 giờ về vấn đề này. Chắc chắn nên ngừng làm việc 'đến tận khuya! : D – tftd
Tại sao câu trả lời này không được chấp nhận? Điều đó hoạt động chính xác! – Sithu