首先,安装Doctrine和Doctrine Bundle。可以使用Composer安装,运行以下命令:
composer require symfony/orm-pack composer require --dev symfony/maker-bundle
在config/packages/doctrine.yaml文件中配置数据库连接信息。这里假设使用MySQL作为数据库。
doctrine: dbal: url: '%env(resolve:DATABASE_URL)%' driver: 'pdo_mysql' # 选择MySQL作为数据库驱动 server_version: '5.7' charset: utf8mb4 default_table_options: charset: utf8mb4 collate: utf8mb4_unicode_ci
创建Doctrine实体。实体是与数据库表映射的对象,可以通过运行以下命令来创建实体:
php bin/console make:entity
在创建实体时,Symfony会检测到已存在的数据库表,并生成实体。如果数据库中的表名与实体名称不同,需要手动更改实体名称。可以通过添加@Column或@JoinColumn注释来描述实体属性和外键关系。
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
@ORM\Entity
@ORM\Table(name="existing_table") / class ExistingEntity { /*
// getters and setters omitted for brevity }
通过实体来执行数据库操作。例如,要查询existing_table表中的所有数据:
$existingEntities = $this->getDoctrine() ->getRepository(ExistingEntity::class) ->findAll();
foreach ($existingEntities as $existingEntity) { echo $existingEntity->getName(); }
要保存实体