ошибка symfony2: [RuntimeException] пространство имен ProjectBundle\Entity\Mandator не содержит сопоставленных сущностей

У меня проблема с отношениями OneToMany в Symfony2. Я создал сущности

Доверитель

// src/Pso/ProjectBundle/Entity/Mandator.php
   namespace Pso\ProjectBundle\Entity;

   use Doctrine\Common\Collections\ArrayCollection;
   use Doctrine\ORM\Mapping as ORM;

   /**
    * @ORM\Table(name="mandator", options={"collate"="utf8_general_ci",
                 "charset"="utf8", "engine"="InnoDB"})
    * @ORM\Entity()
    */

   class Mandator
  {     
    /**
    * @ORM\Column(name="id", type="integer")
    * @ORM\Id()
    * @ORM\GeneratedValue(strategy="AUTO")
    */
    private $id;


   /**
    * @ORM\OneToMany(targetEntity="Pso\ProjectBundle\Entity\Project",   
      mappedBy="mandator")
    */
    private $projects;

  /**
   * @ORM\Column(type="string", length=50, nullable=false)
   */
   private $longname;

  /**
   * @ORM\Column(type="string", length=50, nullable=false)
   */
  private $shortname;

  public function __construct() {
    $this->projects = new ArrayCollection();
  }
}

и объект Project, wgich имеет отношение к другому объекту, называемому User

// src/Pso/ProjectBundle/Entity/Project.php
namespace Pso\ProjectBundle\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Table(name="project", options={"collate"="utf8_general_ci", 
             "charset"="utf8", "engine"="InnoDB"})
 * @ORM\Entity(repositoryClass="Pso\ProjectBundle\Entity\ProjectRepository")
 * @ORM\Entity()
 */

class Project
{ 
  /**
   * @ORM\Column(name="id", type="integer")
   * @ORM\Id()
   * @ORM\GeneratedValue(strategy="AUTO")
   */
  private $id;

 /**
 * @ORM\Column(type="string", length=255, unique=true, nullable=false)
 */
 private $project_nr;

 /**
 * @ORM\ManyToOne(targetEntity="Pso\ProjectBundle\Entity\Mandator",  
                  inversedBy="projects")
 * @ORM\JoinColumn(name="mandator_id", referencedColumnName="id")
 */
 private $mandator;

 /**
 * @ORM\Column(type="string", length=80, nullable=false)
 */
 private $project_name;

 /**
 * @ORM\Column(type="string", length=50)
 */
 private $customer;

 /**
 * @ORM\Column(type="string", length=50)
 */
 private $label;

 /**
 * @ORM\Column(type="date")
 */
 private $shipping_date;

/**
 * @ORM\Column(type="float")
 */ 
 private $advance_payment;

 /**
 * @ORM\Column(type="integer", length=1)
 */
 private $probability;

 /**
 * @ORM\Column(type="blob")
 */
 private $special_demand;

/**
 * @ORM\Column(type="string", length=4)
 */ 
 private $currency;

/**
 * @ORM\Column(type="integer", length=1, nullable=false)
 */ 
 private $status;

/**
 * @ORM\Column(type="string", length=100)
 */  
 private $contract_nr;

/**
 * @ORM\Column(type="datetime", nullable=false)
 */   
 private $dbinsert;

 /**
 * @ORM\Column(type="datetime", nullable=false)
 */ 
 private $dbupdate;

/**
 * @ORM\ManyToMany(targetEntity="Pso\LogBundle\Entity\User", cascade= 
                  {"persist", "remove"})
 */
private $users;

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

Когда я теперь пытаюсь генерировать сеттеры и геттеры с помощью команды

app/console doctrine:generate:entities ProjectBundle/Entity/Mandator

or

app/console doctrine:generate:entities ProjectBundle/Entity/Project

я получаю ошибку

[RuntimeException] Пространство имен "ProjectBundle\Entity\Mandator" не содержит сопоставленных
объектов.

Например, я прочитал несколько тем (тема 1, topic2, topic 3) без понятия, где может быть моя ошибка.


person Micha    schedule 24.01.2015    source источник
comment
Похоже, вы забыли корневую часть своего пространства имен «Pso». Тест с app/console doctrine:generate:entities Pso/ProjectBundle/Entity/Mandator   -  person Fidan Hakaj    schedule 24.01.2015
comment
Большое спасибо, это решение. Я не видел его через несколько часов. Иногда я должен сделать перерыв. Если вы сделаете это как ответ, я могу отметить ваш ответ как решение   -  person Micha    schedule 24.01.2015


Ответы (1)


Похоже, вы забыли корневую часть своего пространства имен «Pso».

Вы должны выполнить:

app/console doctrine:generate:entities Pso/ProjectBundle/Entity/Mandator 
person Fidan Hakaj    schedule 24.01.2015