0
如何使用DQL獲取對象並正確獲取所有字段和引用? 當我使用下面的語句來獲取實體列表:Doctrine DQL,正確提取所有引用和字段的整個實體
我會得到PagePlugins每個PagePlugin
有一個參照Plugin
列表:
/**
* @var \Plugin
*
* @ORM\ManyToOne(targetEntity="Plugin", inversedBy="pagePlugin", cascade={"persist"})
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="plugin_id", referencedColumnName="plugin_id", onDelete="CASCADE")
* })
*/
private $plugin;
當對結果進行迭代,鏈接到的PagePlugins的Plugin
實體沒有一個名字:
$pagePlugin->getPlugin()
DoctrineProxies\__CG__\Plugin::__set_state(array(
'__initializer__' =>
Closure::__set_state(array(
)),
'__cloner__' =>
Closure::__set_state(array(
)),
'__isInitialized__' => false,
'pluginId' => 7,
'pluginName' => '',
'pagePlugin' => NULL,
'pluginMappingValue' => '',
'allowedPlugin' => 0,
'mainEntity' => 0,
'autoCompleteIgnorePlugin' => 0,
))
當我刷新對象:
$ref = $pagePlugin->getPlugin();
$test = ORM::getDefaultOrm();
$test->refresh($ref);
的名稱將是牽強:
$ref = {DoctrineProxies\__CG__\Plugin} [11]
lazyPropertiesDefaults = {array} [0]
__initializer__ = {Closure} [3]
__cloner__ = {Closure} [3]
__isInitialized__ = true
*Plugin*pluginId = 7
*Plugin*pluginName = "Header"
*Plugin*pagePlugin = {Doctrine\ORM\PersistentCollection} [9]
*Plugin*pluginMappingValue = "Header"
*Plugin*allowedPlugin = null
*Plugin*mainEntity = null
*Plugin*autoCompleteIgnorePlugin = null
是否可以指定在DQL該學說完全獲取插件?爲什麼教義獲取該對象的部分?