symfony实体一对一更新模式时出错



当我尝试通过ID查找Miejsce实体时:

$m= $this->getDoctrine()
            ->getRepository('MiejsceObiektyBundle:Miejsce')
            ->find($id);

我收到此错误:

注意:未定义的索引:id in vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php第 286 行 500 内部服务器错误 - 上下文错误异常

想法和真正的联系是

where subdomain.rid=miejsce.id and subdomain.ridType=1

许多实体的子域工作 - 所以我不希望有从子域到 miejsce 的学说 var。

ridType=1 = miejsce
ridType=2 = product
ridType=3 = other 

我可以在存储库中添加条件子域.ridType=1 - 但是设置连接子域.rid=miejsce.id 存在问题,因为 miejsce 没有子域的 id 引用 - 它不需要子域有它,但不仅适用于 miejsce.... :)

这个想法有什么问题?可以在教义中使用吗?

Miejsce实体:

  /**
     * @var integer
     * @ORMColumn(type="integer")
     * @ORMId
     * @ORMGeneratedValue(strategy="AUTO")
     */
    private $id;
 /**
     * @ORMOneToOne(targetEntity="MiejsceDomainBundleEntitySubdomains")
     * @ORMJoinColumn(name="id", referencedColumnName="rid")
     * @var Subdomains
     */
    protected $subdomain;

Subdomain实体 :

class Subdomains
{

    /**
     * @var integer
     * @ORMColumn(type="integer")
     * @ORMId
     * @ORMGeneratedValue(strategy="AUTO")
     */
    private $id;
    /**
     * @ORMColumn(type="string")
     * @var string
     */
    private $name;
    /**
     * @ORMColumn(type="integer")
     * @var integer
     */
    private $rid;
    /**
     * @ORMColumn(type="integer")
     * @var integer
     */
    private $ridType;

Miejsce实体中:

/**
 * @ORMOneToOne(targetEntity="Subdomains", mappedBy="miejsce")
 */
private $subdomain;

Subdomains实体中:

/**
 * @ORMOneToOne(targetEntity="Miejsce", inversedBy="subdomain")
 * @ORMJoinColumn(name="rid", referencedColumnName="id")
 */
private $miejsce;

同时将Subdomains重命名为 Subdomain - 实体名称应为单数

试试这个:

 * @ORMJoinColumn(name="subdomain_id", referencedColumnName="rid")

相关内容

  • 没有找到相关文章

最新更新