Doctrine学习笔记(实体) —— 2
来源:互联网 发布:新思路计算机二级软件 编辑:程序博客网 时间:2024/06/01 08:28
注: 该系列博文采用symfony2.7.*框架。
symfony2 项目框架(demo)
新建实体
<?php/** * Created by PhpStorm. * User: Godruoyi * Date: 2016/3/31 * Time: 8:58 *///实体类命名空间, namespace MyFirst\HelloBundle\Entity;use Doctrine\ORM\Mapping as ORM; //需要移入doctrine的核心库//use Doctrine\ORM\Mapping\OneToOne;/** * 实体类, user * @package MyFirst\HelloBundle\Entity * * 把该实体交给repository管里, 并在命令生产get set 方法时自动生产UserRepository, * @ORM\Entity(repositoryClass="UserRepository") * * 对应的数据库表名 * @ORM\Table(name="t_user") */class User{ /** * @var * * 标明该属性输一个主键ID * @ORM\Id * * 字段类型 integer, 对应的数据库字段名t_id * @ORM\Column(type="integer", name="t_id") * * 自增 * @ORM\GeneratedValue(strategy="AUTO") * */ protected $id; /** * @var string * * @ORM\Column(type="string", name="t_username") */ protected $username; /** * @var string * * @ORM\Column(type="string", name="t_password") */ protected $password; /** * @var string * * @ORM\Column(type="string", name="t_email") */ protected $email; /** * @var string * * @ORM\Column(type="string", name="t_nickname") */ protected $nickname; /** * @var * * @ORM\Column(type="integer", name="t_age") */ protected $age;
修改数据库配置
修改 app/config/parameter.yml
parameters: database_host: 127.0.0.1 database_port: null database_name: symfony_my database_user: root database_password: ruoyi mailer_transport: smtp mailer_host: 127.0.0.1 mailer_user: null mailer_password: null secret: ThisTokenIsNotSoSecretChangeIt
自动生成数据库和get set方法 命令
windows下前面加php , Linux下不要php
#创建数据库php app\console doctrine:database:create //windowsapp\console doctrine:database:create //linux#创建get set 方法, HelloBundle 是我在symfony中新建的一个bundle, 若新执行该命令在执行上面那条命令, 会显示数据库不存在php app\console generate:doctrine:entities HelloBundle#更新实体到数据库php app\console doctrine:schema:update --force
执行完上述命令后, 会在数据库中产生一个表, 字段和实体类字段对应,
更新实体属性
要更新实体属性和数据库字段, 只要在需要更新得实体类中修改属性即可, 如我要在user中新加入一个 address, 并修改nickname为nickname2;
<?phpclass User{ ...其他属性 /** * @var string * 修改原来的 nickname 为 nickname2, 若只改属性明, 不改表名则数据库字段还是t_nickname * @ORM\Column(type="string", name="t_nickname2") */ protected $nickname2; /** * @var * 新增地址属性 * @ORM\Column(type="string", name="t_address") */ protected $address; ...get set 方法}
执行
#创建get set 方法,php app\console generate:doctrine:entities HelloBundle#更新实体到数据库php app\console doctrine:schema:update --force
即可完成对数据库和实体的更新
form godruoyi supper
1 0
- Doctrine学习笔记(实体) —— 2
- Doctrine学习笔记(实体OneToOne) —— 3
- Doctrine学习笔记(实体ManyToMany) —— 4
- Doctrine学习笔记 —— 1
- 【EJB学习笔记】——实体Bean
- 实体框架学习笔记(一) -- 实体定义
- EMF学习笔记1——模型实体类
- Hibernate学习笔记——hibernate实体映射
- Hibernate学习笔记——Hibernate实体关联
- EF学习笔记——生成自定义实体类
- 学习笔记——cad.net 插入实体
- EF学习笔记——生成自定义实体类
- Doctrine 2 ORM 事务处理
- Doctrine 2 ORM 事务处理
- Hibernate学习笔记(2)——搭建项目框架编写hibernate配置文件、实体映射文件
- myBatis学习笔记(3)——实体属性名与表字段名不匹配问题
- [XML]学习笔记(二)——DTD的声明与实体
- HTML学习笔记(十三)字符实体
- 删除多天以前的文件批处理命令
- 使用CSS绘制三角形
- Could not connect to development server. 开发react-native是有时会出现这种错误
- Visual Studio 宏的高级用法
- 浅谈iOS开发中方法延迟执行的几种方式
- Doctrine学习笔记(实体) —— 2
- 判断当前时间是否在一天的某个时间段内
- play的Json测试
- 修改npm下载模块的安装位置
- ifneq ($(KERNELRELEASE),) 是做什么用的
- java方法调用之多态的补充示例(四)
- STM32F103系列USB的学习过程及使用心得(二)(USB HID协议篇)
- 并发 并行 同步 异步 多线程 阻塞 非阻塞的区别
- ACM--贪心算法--活动安排问题