📅  最后修改于: 2023-12-03 15:05:26.783000             🧑  作者: Mango
在 Symfony 2.8 中,使用 doctrine 进行数据库操作是非常常见的。本文将介绍如何通过实体创建并配置数据库。
在创建实体之前,需要先安装 Doctrine。在项目根目录下运行以下命令:
$ composer require doctrine
接下来在 src/
目录下新增一个实体类,示例代码如下:
// src/AppBundle/Entity/Product.php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\ProductRepository")
* @ORM\Table(name="product")
*/
class Product
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @var float
*
* @ORM\Column(name="price", type="float")
*/
private $price;
// ...
}
在生成数据库之前,需要先配置 Doctrine。在 app/config/config.yml
文件中新增以下配置:
# app/config/config.yml
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
charset: UTF8
default_table_options:
charset: UTF8
collate: UTF8_general_ci
orm:
auto_generate_proxy_classes: '%kernel.debug%'
auto_mapping: true
然后在 app/config/parameters.yml
文件中添加数据库连接配置,示例如下:
# app/config/parameters.yml
parameters:
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: null
接下来运行以下命令生成数据库:
$ php bin/console doctrine:database:create
$ php bin/console doctrine:schema:create
生成数据库之后,可以在 MySQL 控制台查看是否生成了名为 symfony
的数据库以及对应的 product
表。
本文介绍了在 Symfony 2.8 中如何通过实体创建并配置数据库,并生成数据库。通过实体操作数据库是 Symfony 开发中经常使用的一种方式,可以快速统一实体的数据结构,方便进行数据库操作。