- 
                Notifications
    You must be signed in to change notification settings 
- Fork 6
The "upstream" branch is a git mirror of the sfDoctrine2Plugin subversion repository, updated daily. The "master" branch is my fork of the sfDoctrine2Plugin, and is no longer maintained.
blt04/sfDoctrine2Plugin
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
# sfDoctrinePlugin 2.0
## Installing
You can install the plugin from SVN currently:
    $ svn co http://svn.symfony-project.org/plugins/sfDoctrinePlugin/branches/1.3-2.0/ plugins/sfDoctrine2Plugin
Now you just need to enable the plugin in your ProjectConfiguration:
    [php]
    class ProjectConfiguration extends sfProjectConfiguration
    {
      public function setup()
      {
        $this->enablePlugins('sfDoctrine2Plugin');
      }
    }
## Configure Databases
Sample `databases.yml` for MySQL:
    [yml]
    all:
      doctrine:
        class: sfDoctrineDatabase
        param:
          options:
            driver: pdo_mysql
            user: root
            password:
            dbname: doctrine
Sample `databases.yml` for Sqlite:
    [yml]
    all:
      doctrine:
        class: sfDoctrineDatabase
        param:
          options:
            driver: pdo_sqlite
            path: %SF_DATA_DIR%/database.sqlite
## Schema Files
You can specify your schema files in `config/doctrine` just like normal. The schema syntax
is slightly different from Doctrine 1. Below is an example:
    [yml]
    Entities\User:
      type: entity
      table: user
      id:
        id:
          type: integer
          generator:
            strategy: AUTO
      fields:
        username:
          type: string
          length: 255
        password:
          type: string
          length: 255
## Custom Repository Class
You can configure a custom repository class so you can add new methods for
executing and retrieving queries.
    [yml]
    Entities\User:
      type: entity
      table: user
      repositoryClass: UserRepository
    # ...
Now define a `UserRepository` class:
    [php]
    class UserRepository extends EntityRepository
    {
      public function getActiveUsers()
      {
        $qb = $this->createQueryBuilder('u');
        $q = $qb->getQuery();
        return $q->execute();
      }
    }
Now you can use this method like the following:
    [php]
    $repository = $em->getRepository('Entities\User');
    $users = $repository->getActiveUsers();
If you utilize the `ActiveEntity` extension you can do the following:
    [php]
    $users = \Entities\User::getActiveUsers();
In order to use the above syntax your `User` model needs to extend `sfDoctrineActiveEntity`
like the following:
    [php]
    namespace Entities;
    use sfDoctrineActiveEntity;
    class User extends sfDoctrineActiveEntity
    {
      // ...
    }
## Data Fixtures
YAML data fixtures no longer exist in Doctrine 2. Instead we just
use regular PHP code to load our data fixtures.
    [php]
    // data/fixtures/fixtures.php
    $em = $this->getEntityManager();
    $admin = new \Entities\User();
    $admin->username = 'admin';
    $admin->password = 'changeme';
The `$em` variable that is defined in the fixture files is the entity manager that
will be used to persist the entities.
## Building Doctrine
Build models, forms, filters, database and load data fixtures.
    $ php symfony doctrine:build --all --and-load
## Updating Schema
Updating your schema is just a matter of changing your mapping information in 
`config/doctrine` and then running the following command:
    $ php symfony doctrine:build --all-classes --and-update-schema
## Entity Manager in Actions
    [php]
    class usersActions extends sfActions
    {
      public function executeIndex()
      {
        $em = $this->getEntityManager();
        $qb = $em->createQueryBuilder();
        // ...
      }
    }About
The "upstream" branch is a git mirror of the sfDoctrine2Plugin subversion repository, updated daily. The "master" branch is my fork of the sfDoctrine2Plugin, and is no longer maintained.
Resources
Stars
Watchers
Forks
Releases
No releases published
              Packages 0
        No packages published