몇 분 전에 Doctrine2에서 오류가 발생했습니다.Doctrine2 일부 필드를 유지하지 않습니다
내 엔티티에 일부 필드를 추가 한 다음, mysql 테이블을 새로 고치고 새 데이터가 테이블에 저장되지 않은 것을 알게되었습니다.
"-> getXXX()"의 값을 var_dump 시도했는데 결과가 정확했습니다.
$user->setName($name);
$user->setSurname($surname);
if($country)
$user->setCountry($country->getId());
//New code
if($province > 0)
$user->setProvince($province);
if($town > 0)
$user->setTown($town);
var_dump($user->getProvince(), $user->getTown()); //Works OK
$em->persist($user); // Only persists values before Province.
$em->flush();
감사의 안부 : 여기
사용되는 코드입니다!편집
내 법인에 대한 정보 :
class Users
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="bigint")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $name
*
* @ORM\Column(name="name", type="string", length=50)
*/
private $name;
/**
* @var string $surname
*
* @ORM\Column(name="surname", type="string", length=95)
*/
private $surname;
/**
* @var string $mail
*
* @ORM\Column(name="mail", type="string", length=80, unique=true)
*/
private $mail;
/**
* @var string $password
*
* @ORM\Column(name="password", type="string", length=255)
*/
private $password;
/**
* @var $country
*
* @ORM\Column(name="country", type="integer")
*/
private $country;
/**
* @var $province
*
* @ORM\Column(name="province", type="integer")
*/
private $province;
/**
* @var $town
*
* @ORM\Column(name="town", type="integer")
*/
private $town;
}
나라, 지방 및 도시는 같은 이름을 가진 테이블에서의 id이다. ManytoOne association을 사용하여 필드의 유형을 변경하려고했지만 Doctrine2에서 생성 된 SQL에 오류가 발생합니다. 캐시 오류 인 것 같지만 해결할 수는 없습니다.
캐시를 비우려고 했습니까? – Snroki
엔티티에 대한 Doctrine 구성 (주석, yml 등)을 표시 할 수 있습니까? 새 필드에 대해 올바른 'ORM/열'을 설정 했습니까? – lifo
콘솔로 메타 데이터 캐시를 지우는 것만으로는 충분하지 않습니다. 개발시 VoidCache를 사용하여 캐싱을 비활성화 할 수 있습니다.이것은 나를 도왔습니다 – sgotre