Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework 曾德律师事务所;Doctrine2:命令行脚本中的代理出错_Zend Framework_Doctrine Orm - Fatal编程技术网

Zend framework 曾德律师事务所;Doctrine2:命令行脚本中的代理出错

Zend framework 曾德律师事务所;Doctrine2:命令行脚本中的代理出错,zend-framework,doctrine-orm,Zend Framework,Doctrine Orm,我正在与Zend和Doctrine2合作,我需要使用相同的结构创建一些cronjobs。问题是,当我试图从一个与另一个模型有关系的模型中获取存储库时,我得到了一个错误(只有在命令行中,在网站中,如果我这样做,就可以正常工作) 这是我在命令行中遇到的错误: 致命错误:在第92行的c:\php\library\Doctrine\ORM\Proxy\ProxyFactory.php中找不到类“Proxy\Model\u MediaPresetsProxy” 我在这个文件夹/application/mo

我正在与Zend和Doctrine2合作,我需要使用相同的结构创建一些cronjobs。问题是,当我试图从一个与另一个模型有关系的模型中获取存储库时,我得到了一个错误(只有在命令行中,在网站中,如果我这样做,就可以正常工作)

这是我在命令行中遇到的错误:

致命错误:在第92行的c:\php\library\Doctrine\ORM\Proxy\ProxyFactory.php中找不到类“Proxy\Model\u MediaPresetsProxy”

我在这个文件夹/application/models/proxies/中有代理,Model\u MediaPresetsProxy文件就在那个目录中

<?php

namespace Proxy;

/**
 * THIS CLASS WAS GENERATED BY THE DOCTRINE ORM. DO NOT EDIT THIS FILE.
 */
class Model_MediaPresetsProxy extends \Model_MediaPresets implements \Doctrine\ORM\Proxy\Proxy
{
[...]

过了一会儿,我找到了解决办法

问题是我创建了两个不同的环境:开发CLDEV(命令行开发)

我的getEntityManager()函数与

[...]
$config->setAutoGenerateProxyClasses((APPLICATION_ENV == 'development'));
[...]
所以我把它换成了

[...]
$config->setAutoGenerateProxyClasses((APPLICATION_ENV == 'development' || APPLICATION_ENV == 'cldev'));
[...]

问题解决了。希望它将来能帮助其他人。

在Model_MediaQueue中,您导入了ArrayCollection,但仍在构造函数中使用FQN:Phehe。。谢谢那是我的第一个模型,我没有注意到那条线还在那里
<?php

use Doctrine\Common\Collections\ArrayCollection;

/**
 * @Entity
 * @Table(name="media_queue")
 */
class Model_MediaQueue
{
    /**
     * @Id @Column(type="integer")
     * @GeneratedValue(strategy="AUTO")
     */
    private $queue_id;


    /** 
     * @ManyToOne(targetEntity="Model_MediaPresets")
     * @JoinColumn(name="queue_preset_id", referencedColumnName="preset_id")
     */
    private $media_preset;

    /** 
     * @ManyToOne(targetEntity="Model_Sites", inversedBy="media_list")
     * @JoinColumn(name="queue_site_id", referencedColumnName="site_id")
     */
    private $media_site;

    /** 
     * @Column(type="string")
     */
    private $source_media_file;

    /** @Column(type="integer") */
    private $result_media_id;

    /** @Column(type="integer") */
    private $queue_status;

    /** @Column(type="integer") */
    private $queue_added;

    /** @Column(type="integer") */
    private $queue_processed;


    public function __construct()
    {
        $this->media_preset = new \Doctrine\Common\Collections\ArrayCollection();
        $this->media_site = new \Doctrine\Common\Collections\ArrayCollection();
    }

    [...]
}
<?php

/**
 * @Entity
 * @Table(name="media_presets")
 */
class Model_MediaPresets
{
    /**
     * @Id @Column(type="integer")
     * @GeneratedValue(strategy="AUTO")
     */
    private $preset_id;

    /** 
     * @Column(name="preset_type", type="string", columnDefinition="enum('video', 'photo')") 
     */
    private $preset_type;

    /** @Column(type="string") */
    private $preset_name;

    /** @Column(type="string") */
    private $preset_formats_order;

    /** @Column(type="integer") */
    private $preset_size_w;

    /** @Column(type="integer") */
    private $preset_size_h;

    /** 
     * @Column(name="preset_resize_method", type="string", columnDefinition="enum('Maintain', 'Stretch', 'Centre', 'Abort')") 
     */
    private $preset_resize_method;

    /** @Column(type="string") */
    private $preset_watermark;

    /** @Column(type="string") */
    private $preset_background;

}
[...]
$config->setAutoGenerateProxyClasses((APPLICATION_ENV == 'development'));
[...]
[...]
$config->setAutoGenerateProxyClasses((APPLICATION_ENV == 'development' || APPLICATION_ENV == 'cldev'));
[...]