版本 2.8
正文:
1:创建数据库
(1)设置数据库基本的连接属性
打开app/config/parameters.yml 文件进行配置
# app/config/parameters.yml
parameters:
database_host: localhost 数据库地址
database_name: test_project 数据库名称
database_user: root 数据库登录名
database_password: password 数据库登录密码
# ...
(2)创建数据库与删除数据库
$ php app/console doctrine:database:drop --force 删除数据库
$ php app/console doctrine:database:create 创建数据库
2:生成表结构
(1):创建Entity实体类
php app/console generate:doctrine:entity --entity=AcmeDemoBundle:Admin [--entity:bundle名:实体名]
运行之后会在对应的Bundle下创建一个名为Entity的实体表目录,其中有你刚刚创建的实体类文件,还有一个Reopsitory目录,目前不需要关注
(2): 创建表结构–以及常用的字段
打开刚创建的实体文件,我们就可以构建自己的表结构了
(3):常用的表字段
<1>普通文本
/**
* @var string
*
* @ORMColumn(name="字段名", type="string", length=255, options={"comment"="备注"})
*/
private $字段属性名;
<2>text文本
/**
* @var string
*
* @ORMColumn(name="content", type="text")
*/
private $content;
<3>金额
/**
* @var string
*
* @ORMColumn(name="original_price", type="decimal", precision=10, scale=2, options={"comment"="原价", "default"="0.00"})
*/
private $originalPrice;
<4>int
/**
* @var int
*
* @ORMColumn(name="number", type="integer", options={"comment"="库存"})
*/
private $number;
<5>small_int
/**
* @var int
*
* @ORMColumn(name="type", type="smallint", options={"comment"="分类 "})
*/
private $type;
<6>bool
/**
* @var bool
*
* @ORMColumn(name="is_enabled", type="boolean", nullable=true, options={"default"="1"})
*/
private $isEnabled;
<7>排序字段
/**
* @var int
*
* @ORMColumn(name="sort_order", type="integer", nullable=true, options={"comment"="排序的序号", "default"=0})
*/
private $sortOrder;
<8>时间
/**
* @var DateTime
*
* @ORMColumn(name="create_time", type="datetime")
*/
private $createTime;
时间还有 date日期格式 time时间格式
(4): 常用的属性
<1>
options={"comment"="排序的序号", "default"=0} 设置备注和默认值
<2>
length=255, nullable=true , unique=true 长度,是否为空,唯一
(5):other
<主键ID–自增>
/**
* @var int
*
* @ORMColumn(name="id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
<外键简单实现>
/**
* @ORMManyToOne(targetEntity="AppBundleEntityGoodsCategory", inversedBy="goods")
* @ORMJoinColumn(name="goods_category_id", referencedColumnName="id")
*/
private $goodsCategory;
4:将表结构应用到数据中
php app/console doctrine:schema:update --force
5:生成get-set方法
第一步:删除所有实体的get-set方法
第二步:运行
doctrine:generate:entities --no-backup