我有两个MySQL表(news
和news_lng
)。新闻表content id
,from_date
,to_date
和leading_image
字段。 news_lng
表包含id
,news_id
,lng
,title
和body
字段。
news
id | from_date | to_date | leading_image
1 | 2017-05-01 | 0000-00-00 | test.jpg
news_lng
id | news_id | lng | title | body
1 | 1 | en_GB | test | test body
2 | 1 | en_US | test | test content
如何设计学说2实体?
1
/**
* @ORM\Entity(repositoryClass="\Admin\Repository\NewsRepository")
* @ORM\Table(name="news")
*/
class News {
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(name="id")
*/
protected $id;
/**
* @ORM\Column(name="from_date")
*/
protected $fromDate;
/**
* @ORM\Column(name="to_date")
*/
protected $toDate;
/**
* @ORM\Column(name="leading_image")
*/
protected $leadingImage;
/**
* @ORM\OneToMany(targetEntity="\Admin\Entity\NewsLng", fetch="EAGER", mappedBy="news_id")
*/
private $translations;
public function __construct() {
$this->translations = new ArrayCollection();
}
// getters and setters ...//
}
/**
* @ORM\Entity
* @ORM\Table(name="news_lng")
*/
class NewsLng {
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(name="id")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="\Admin\Entity\News", inversedBy="translations", fetch="EAGER")
* @ORM\JoinColumn(name="news_id", referencedColumnName="id")
*/
protected $news_id;
/**
* @ORM\Column(name="lng")
*/
protected $lng;
/**
* @ORM\Column(name="title")
*/
protected $tile;
/**
* @ORM\Column(name="body")
*/
protected $body;
// getters and setters ...//
}
学说2中的最佳做法是什么?
答案 0 :(得分:0)
在您的情况下使用关系是适当的解决方案。表继承是为其他东西设计的。