我正在尝试创建一个包含3个表的演示项目:category
,model
,type
。
可能有不同的类别,例如cellphone
,tablets
,computer
等。对于每个类别,都有不同的类别,例如cellphone
可能存在类别asus
,iphone
,nokia
等。同样,对于每种类型,都有不同的模型:对于诺基亚,可能有nokia
,lumia
,{{1如何使用注释在symfony2中创建此数据库?
答案 0 :(得分:0)
代码并不复杂:
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity()
*/
class Category
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\OneToMany(targetEntity="Model", mappedBy="category")
*/
private $models;
}
/**
* @ORM\Entity()
*/
class Model
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ManyToOne(targetEntity="Category", inversedBy="models")
* @JoinColumn(name="category_id", referencedColumnName="id")
**/
private $category;
/**
* @ORM\OneToMany(targetEntity="Type", mappedBy="model")
*/
private $types;
}
/**
* @ORM\Entity()
*/
class Type
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="type", type="string", length=255)
*/
private $name;
/**
* @ManyToOne(targetEntity="Model", inversedBy="types")
* @JoinColumn(name="model_id", referencedColumnName="id")
**/
private $model;
}
将代码添加到其中的每个文件后运行命令:
php app/console doctrine:generate:entities
它将生成setter和getter以及构造函数