1:1の関係にあるextbaseのモデルに関して問題があります。私のモデル「Beast」には、1:1の関係で実現される別のモデル「MissingBeast」へのリンクがあります。MissingBeastオブジェクトをBeastオブジェクトに正常に追加できます。しかし、どうやってリセットするのかわかりません。
次のコードは、ModelBeastのプロパティ定義を示しています。
/**
* missingBeast
*
* @var Tx_Hobeast_Domain_Model_MissingBeast
* @lazy
*/
protected $missingBeast;
/**
* Returns the missingBeast
*
* @return Tx_Hobeast_Domain_Model_MissingBeast $missingBeast
*/
public function getMissingBeast() {
return $this->missingBeast;
}
/**
* Sets the missingBeast
*
* @param Tx_Hobeast_Domain_Model_MissingBeast $missingBeast
* @return void
*/
public function setMissingBeast(Tx_Hobeast_Domain_Model_MissingBeast $missingBeast) {
$this->missingBeast = $missingBeast;
}
モデルビーストのデータベーステーブルのmissingBeastの値は、missingBeastのIDにすぎません。デフォルトでは0です。
MissingBeastが設定された後、このIDを0にリセットできますか?私は次のように行方不明の獣を削除しようとしました:
$missingBeast = $this->service->missingBeastRepository->findByBeast($beast);
$this->service->missingBeastRepository->remove($missingBeast);
しかし、そうすると、次のクエリが無限ループに陥ります。
$query = $this->createQuery();
return $query->matching($query->equals("uid", $beast->getMissingBeast()))->execute()->count();
Typoバージョン4.7.8を使用しています