ride / app-orm-doctrine
将Doctrine ORM集成到Ride框架中。
dev-master
2015-06-08 09:00 UTC
Requires
- doctrine/orm: ~2.4
- ride/lib-cli-symfony: ~1.0
This package is not auto-updated.
Last update: 2024-09-14 15:52:50 UTC
README
此模块将Doctrine ORM集成到Ride框架中。
安装
composer require ride/app-orm-doctrine:dev-master
配置
# application/config/parameters.json { "doctrine": { "dbal": { "connections": { "default": { "dsn": "mysql://user:pass@host/database" } } }, "orm": { "entity_managers": { "default": { "connection": "default" } } } } }
可用命令
doctrine convert-mapping [--filter] [--force] [--from-database] [--extend] [--num-spaces] [--namespace] [--em] <to-type> <dest-path> doctrine ensure-production-settings [--complete] [--em] doctrine generate entities [--filter] [--generate-annotations] [--generate-methods] [--regenerate-entities] [--update-entities] [--extend] [--num-spaces] [--no-backup] [--em] <dest-path> doctrine generate proxies [--filter] [--em] [<dest-path>] doctrine generate repositories [--filter] [--em] <dest-path> doctrine info [--em] doctrine run dql [--hydrate] [--first-result] [--max-result] [--depth] [--em] <dql> doctrine schema create [--dump-sql] [--em] doctrine schema drop [--dump-sql] [--force] [--full-database] [--em] doctrine schema update [--complete] [--dump-sql] [--force] [--em] doctrine schema validate [--skip-mapping] [--skip-sync] [--em]
要设置要使用的特定实体管理器,请使用--em标志。
用法
在模块内的'entity'目录中定义您的实体
# src/ride/application/entity/MyEntity.php use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity() */ class MyEntity { /** * @ORM\Id() * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ private $id; }
使用以下命令验证您的实体是否被找到
php application/cli.php doctrine info
使用CLI创建数据库模式
php application/cli.php doctrine schema create
在您想要使用Doctrine的地方注入ManagerRegistry
# src/ride/application/controller/IndexController.php class IndexController { public function __construct(ManagerRegistry $registry) { $this->registry = $registry; } public function indexAction() { $em = $this->registry->getManager(); $em->persist(new MyEntity()); $em->flush(); } }