次のような Entity クラスがあります。
<?php
namespace Entities;
/** @Entity @Table(name="User") */
class User
{
/**
* @Id
* @Column(type="string", length=12)
*/
private $no;
Doctrine 2 Identifier Generation Strategy セクションに基づく:
NONE: コードによって識別子が割り当てられている (したがって生成されている) ことを Doctrine に伝えます。新しいエンティティが EntityManager#persist に渡される前に、割り当てを行う必要があります。NONE は @GeneratedValue を完全に除外することと同じです。
つまり、persist を呼び出す前に値を設定できる方法が必要です。
呼び出し./doctrine orm:generate-entities
てもセッター関数は生成されません。クラスに手動で記述する必要がありますか?
/**
* Set no
*
* @param string $no
*/
public function setNo($no)
{
$this->no = $no;
}
これは正しい方法ですか?