2015-01-29 15 views
6

Tôi có chú thích này:Làm thế nào để có được loại TEXT Doctrine?

/** 
* @ORM\Column(name="notes", type="string", length=65532, nullable=true) 
*/ 
protected $notes; 

Theo tài liệu này - http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id102 vì nó ít hơn 65535 nó phải được TEXT?

Nhưng cột được tạo dưới dạng MEDIUMTEXT.

Làm cách nào để khắc phục sự cố này?

+5

Đối với bất kỳ ai quan tâm, câu trả lời là: '@ORM \ Cột (name =" notes ", type =" text ", length = 65535, nullable = true)' – b85411

+3

Thêm câu trả lời này và chấp nhận;) –

Trả lời

7

Bạn đang tham chiếu không đúng loại trong tài liệu. Trong mã của bạn, bạn có type="string" nhưng tham chiếu đến tài liệu của bạn có liên quan đến type="object".

Nếu bạn đọc một phần của bảng trên trong các tài liệu tham khảo bạn sẽ thấy rằng string được đúc để VARCHAR trong MySQL nếu length không vượt quá độ dài tối đa cho MySQL và được đúc để MEDIUMTEXT nếu length vượt quá.

Nhưng nếu bạn muốn rõ ràng trường TEXT, bạn sẽ cần phải xác định cột của mình với type="text".

Các vấn đề liên quan