0
我的PHP应用程序中有一个加载的Doctrine实体。如何检查是否填充了Doctrine的数组集合?
如何检查Doctrine的数组集合是否已经填充数据而不触发数据库请求?
我需要这在我的实体序列化逻辑。
我不知道该用isEmpty()
的提出的解决方案是一个很好的,因为我不知道它是否会触发数据库呼叫。可以?
我的PHP应用程序中有一个加载的Doctrine实体。如何检查是否填充了Doctrine的数组集合?
如何检查Doctrine的数组集合是否已经填充数据而不触发数据库请求?
我需要这在我的实体序列化逻辑。
我不知道该用isEmpty()
的提出的解决方案是一个很好的,因为我不知道它是否会触发数据库呼叫。可以?
public function isCollectionPopulated()
{
if ($this->collection instanceof PersistentCollection) {
return $this->collection->isInitialized();
}
// else collection instance of ArrayCollection and already populated.
return true;
}
的[检查的ArrayCollection是空的(http://stackoverflow.com/questions/17643047/check-if-arraycollection-is-empty) –
收集可能在两种情况下是空的可能的复制,当数据库中没有相关实体,并且尚未加载相关实体。我对第二种情况感兴趣。我不确定提供的答案,即'isEmpty()'实际上是否触发数据库调用。 –