私は、いくつかの特性からなるクラスの都市です。@ORM Idは、symfonyのエンティティの識別子を作成しません。
/**
* @ORM\Entity
* @ORM\Table(name="City")
* @SoftDeleteable(fieldName="deletedAt")
*/
class City
{
use IdentifiableEntity;
use TimestampableEntity;
}
私は、問題は、私はビン/コンソール教義を実行するときに発生する
trait IdentifiableEntity { /** * @var integer * @ORM\Column(name="id", type="integer", options={"unsigned":true}) * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; //setter getter }
IdentifiableEntity
形質を持っている:移行:デフ私は、このエラーメッセージ[Doctrine\ORM\Mapping\MappingException]
No identifier/primary key specified for Entity "AppBundle\Entity\City\City". Every Entity must have an identifier/primary key.
はなぜことがあり得ます?私は、$id
が@ORM\Id
のように扱われるべきであるという私の特性を明確に述べました。 @ORM\GeneratedValue(strategy="IDENTITY")
を追加しても役に立ちません。どうしましたか?
P.S. symfony 3.2とdoctrine/doctrine-migrations-bundleを使用しています。1.0
あなたが別のエンティティを持っていて、間違った名前空間を指しているこの 'City'エンティティを指すアソシエーションを持つ任意のエンティティがありますか? (AppBundle \ Entity \ City \ City)< - double city –
@SamJanssens、まさにこのエンティティを指す正しい名前空間です。 – user7808407
特徴の中に主キーを作ることはできないようです。不思議なことに、私はそれについての情報を見つけるのに苦労しています – user7808407