2010-03-10 2 views
0

나는 Symfony 1.4를 Doctrine과 함께 사용하고있다.HYDRATE_NONE을 사용할 때 MySQL 텍스트 필드의 시작 부분에있는 문자열 길이?

데이터베이스에 MySQL 텍스트 유형 (Doctrine "array"유형)으로 텍스트를 저장하고 있는데 &의 내용이 정확합니다.

데이터를 다시 쿼리 할 때 Doctrine_Core :: HYDRATE_ARRAY를 사용하면 데이터가 반환되어야합니다.

S:45"this is some text from the database" // where "45" is the length. 

이 예상되는 동작 아니면 내가 잘못된 유형을 정의 할 수 : 나는 HYDRATE_NONE를 사용하는 경우, 데이터가 추가 텍스트 길이 반환?

감사합니다.

+0

표시되는 텍스트는 배열의 직렬화 된 형식입니다. 수화물을 사용하지 않기로 결정한 경우 직렬화 된 양식 (배열 -> 텍스트)이 표시됩니다. PHP의 serialize/unserialize 함수 쌍에서 설명해야합니다. – Raise

+0

@ 레이즈 ... 고마워, 그게 다야. 답변을 추가하려면 동의하겠습니다. – Tom

+0

Doctrine을 직접 검사하지 않았으므로 문제는 없었습니다. 약간 더 나은 답변을 추가했습니다. – Raise

답변

1

표시되는 텍스트는 배열의 직렬화 된 형식입니다. 수화하지 않기로 결정한 경우 Doctrine은 배열을 직렬화 된 형식으로 변환하여 MySQL의 TEXT 열에 저장하므로 직렬화 된 형식을 갖게됩니다. PHP의 serialize/unserialize 함수 쌍은 Doctrine에서 사용되는 프로세스 유형의 예제를 제공해야합니다.

관련 문제