我对 extbase 中具有 1:1 关系的模型有疑问。我的模型“Beast”有一个链接到另一个模型“MissingBeast”,这是通过 1:1 关系实现的。我可以成功地将 MissingBeast 对象添加到 Beast 对象中。但我不知道如何重置它。
下面的代码展示了 Model Beast 中的属性定义
/**
* 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;
}
Model Beast 数据库表中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