0
が、私はこのクラスを持っている:prePersist nullオブジェクトをチェックする
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
class Parameter{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Project\Bundle\Entity\Anthropometry", inversedBy="parameter")
* @ORM\JoinColumn(name="anthropometry_id", referencedColumnName="id")
*
*/
protected $anthropometry;
/**
* @ORM\Column(name="data", type="string", length=255, nullable=true)
*/
protected $data;
...
}
と、この:私のコントローラで
/**
* @ORM\Table(name="anthropometry")
* @ORM\Entity
*/
class Anthropometry {
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
*
* @ORM\OneToMany(targetEntity="Project\Bundle\Entity\Parameter", mappedBy="anthropometry", cascade={"persist"})
*
*/
protected $parameter;
...
}
私は、フォームを作成し、同じアクションで検証しています。 フォームを作成するにはインスタンス1のパラメータが必要です。しかし、彼を維持する必要はありません。私はエラーを得た>フラッシュ$ EM-を呼び出すとき
..だから:
A new entity was found through the relationship ...
はこれを解決するために私が入れカスケード= { "持続"}注釈で:
//Class Anthropometry
...
/**
*
* @ORM\OneToMany(targetEntity="Project\Bundle\Entity\Parameter", mappedBy="anthropometry", cascade={"persist"})
*
*/
protected $parameter;
しかし、私のデータベースでは、パラメータはフィールド 'Data' = NULLで維持されています
フィールドが永続化される前にNULLである場合、prePersistでチェックできますか?
このようなものはありますか?
//class Parameter
/**
*
* @ORM\prePersist
*/
public function prePersist(){
if($this->getData() == NULL){
return false;
}
}
Thx!
私が開発していたプロジェクトがために停止しますしばらく。しかし、私はこれがうまくいくと思います。どうも!! – Munir