Tôi có đoạn code sau đây, mà lấy sên trang từ cơ sở dữ liệu đó là cần thiết để sau đó tạo ra một trang tiểu liên quan:ErrorException: Lỗi có thể bắt gặp: Đối tượng của lớp không thể chuyển đổi thành chuỗi - Gây ra bởi trình đơn thả xuống nhưng tại sao?
$builder->add('subtocontentoptions', 'entity', array(
'class' => 'ShoutAdminBundle:Content',
'property' => 'slug',
'query_builder' => function($repository) {
return $repository->createQueryBuilder('p')
->where('p.mainpage = :main')
->setParameter('main', '1')
->orderBy('p.created', 'ASC');
}
));
Mã này hoạt động, vì nó sẽ hiển thị một trình đơn thả tất cả các trang mẹ xuống Tôi có. Tuy nhiên, khi tôi đi để lưu các dữ liệu vào cơ sở dữ liệu, tôi đưa ra các lỗi sau:
ErrorException: Catchable Fatal Error: Object of class Shout\AdminBundle\Entity\Content could not be converted to string in C:\wamp\www\vendor\doctrine-dbal\lib\Doctrine\DBAL\Statement.php line 131
Tôi đã kiểm tra các nội dung của file thực thể nội dung, và đây là biến được tuyên bố:
/**
* @var integer $subtocontentoptions
*
* @ORM\Column(name="SubToContentOptions", type="integer", nullable=false)
*/
private $subtocontentoptions;
Và thấp xuống các tập tin thực Nội dung:
/**
* Set subtocontentoptions
*
* @param integer $subtocontentoptions
*/
public function setSubtocontentoptions($subtocontentoptions)
{
$this->subtocontentoptions = $subtocontentoptions;
}
/**
* Get subtocontentoptions
*
* @return integer
*/
public function getSubtocontentoptions()
{
return $this->subtocontentoptions;
}
phần còn lại của các mã làm việc, một khi thả xuống này đã được đưa ra. Tôi không chắc tại sao trình đơn thả xuống lại gây ra lỗi này?
Cảm ơn
giá trị của các tùy chọn trong menu thả xuống là gì? Là nó theo giá trị int trong bảng? – Tjorriemorrie
Vâng, nó sử dụng trường Int (ID) của bảng. Tôi đang cố gắng thay đổi điều này để nó sử dụng một giá trị khác. – mickburkejnr
thử thực hiện 'subtocontentoptions' được bảo vệ thay vì riêng tư – Reuven