【发布时间】:2013-03-14 12:09:01
【问题描述】:
我遇到了关于 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
【问题讨论】: