Last active
December 19, 2015 16:19
-
-
Save vnagara/5982836 to your computer and use it in GitHub Desktop.
doctrine problem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Class Site | |
* @ORM\Entity | |
* @ORM\Table(name="ad_posting_site", | |
* uniqueConstraints={@ORM\UniqueConstraint(name="display_name", columns={"display_name"})} | |
* ) | |
*/ | |
class Site extends AbstractEntityParams | |
{ | |
/** | |
* @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") | |
* @var int | |
*/ | |
protected $id; | |
/** | |
* @ORM\Column(type="string", length=50, name="display_name") | |
* @var string | |
*/ | |
protected $displayName; | |
/** | |
* @ORM\Column(type="string", length=255) | |
* @var string | |
*/ | |
protected $uri; | |
} | |
/** | |
* Class Ad | |
* @ORM\Entity | |
* @ORM\Table(name="ad_posting_ad") | |
*/ | |
class Ad | |
{ | |
/** | |
* @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") | |
* @var int | |
*/ | |
protected $id; | |
/** | |
* @ORM\ManyToOne(targetEntity="AdPosting\Entity\Site") | |
* @var \AdPosting\Entity\Site | |
*/ | |
protected $site; | |
/** | |
* @ORM\ManyToOne(targetEntity="AdPosting\Entity\User") | |
* @var \AdPosting\Entity\User | |
*/ | |
protected $user; | |
} | |
/** | |
* Class Account | |
* @ORM\Entity | |
* @ORM\Table(name="ad_posting_account", | |
* uniqueConstraints={@ORM\UniqueConstraint(name="user_id", columns={"user_id", "site_id"})} | |
* ) | |
*/ | |
class Account extends AbstractEntityParams | |
{ | |
/** | |
* @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") | |
* @var int | |
*/ | |
protected $id; | |
/** | |
* @ORM\ManyToOne(targetEntity="AdPosting\Entity\User") | |
* @var User | |
*/ | |
protected $user; | |
/** | |
* @ORM\ManyToOne(targetEntity="AdPosting\Entity\Site") | |
* @var Site | |
*/ | |
protected $site; | |
/** | |
* @ORM\Column(type="string", length=64) | |
* @var string | |
*/ | |
protected $login; | |
/** | |
* @ORM\Column(type="string", length=64, nullable=true) | |
* @var string | |
*/ | |
protected $password; | |
/** | |
* @ORM\Column(type="datetime", nullable=true) | |
* @var DateTime | |
*/ | |
protected $created; | |
} | |
/** | |
* Class User | |
* @ORM\Entity | |
* @ORM\Table(name="ad_posting_user") | |
*/ | |
class User extends AbstractEntityParams | |
{ | |
/** | |
* @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") | |
* @var int | |
*/ | |
protected $id; | |
/** | |
* @ORM\Column(type="string", length=64, name="preferred_login", unique=true, nullable=true) | |
* @var string | |
*/ | |
protected $preferredLogin; | |
/** | |
* @ORM\Column(type="string", length=50, name="display_name", nullable=true) | |
* @var string | |
*/ | |
protected $displayName; | |
/** | |
* @ORM\Column(type="string", length=64) | |
* @var string | |
*/ | |
protected $password; | |
/** | |
* @ORM\Column(type="string", length=30, nullable=true) | |
* @var string | |
*/ | |
protected $name; | |
/** | |
* @ORM\Column(type="string", length=30, nullable=true) | |
* @var string | |
*/ | |
protected $surname; | |
/** | |
* @ORM\Column(type="date", nullable=true) | |
* @var DateTime | |
*/ | |
protected $birthday; | |
/** | |
* @ORM\Column(type="string", length=8, name="postal_code", nullable=true) | |
* @var string | |
*/ | |
protected $postalCode; | |
/** | |
* @ORM\ManyToOne(targetEntity="AdPosting\Entity\Account" ) | |
* @ORM\JoinColumn(name="primary_account_id") | |
* @var \AdPosting\Entity\Account | |
*/ | |
protected $primaryAccount; | |
/** | |
* @ORM\Column(type="datetime", nullable=true) | |
* @var DateTime | |
*/ | |
protected $created; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
а нужен еще свойство типо как
/**
* @Orm\OneToOne(targetEntity="AdPosting\Entity\Account")
* @Orm\JoinColumns{
* @Orm\JoinColumn(name="user_id", referencedColumnName="user_id"),
* @Orm\JoinColumn(name="site_id", referencedColumnName="site_id")
* }
* @var \AdPosting\Entity\Account
*/
protected $account;
Но такое доктрина не понимает:
[Doctrine\ORM\ORMException] Column name
site_idreferenced for relation from AdPosting\Entity\Ad towards AdPosting\Entity\Account does not exist.