Doctrine2 ORM - zizaco/entrust
, (*1)
THIS PACKAGE IS UNDER DEVELOPMENT, (*2)
Configuration
Installation
Run $ composer require spotonlive/sl-entrust-doctrine-orm, (*3)
config/app.php, (*4)
'providers' => [
(...)
SpotOnLive\EntrustDoctrineORM\EntrustDoctrineORMServiceProvider::class,
'Zizaco\Entrust\EntrustServiceProvider',
(...)
]
'aliases' => [
(...)
'Entrust' => 'Zizaco\Entrust\EntrustFacade'
(...)
]
User.php, (*5)
use Doctrine\Common\Collections\ArrayCollection;
class User implements \SpotOnLive\EntrustDoctrineORM\Entities\UserRoleInterface
{
/**
* @var \SpotOnLive\EntrustDoctrineORM\Entities\RoleInterface[]|ArrayCollection
*
* @ORM\ManyToMany(targetEntity="SpotOnLive\EntrustDoctrineORM\Entities\Role")
* @ORM\JoinTable(name="user_role_linker",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id")}
* )
**/
protected $roles;
public function __construct()
{
$this->roles = new ArrayCollection();
}
/**
* @return ArrayCollection|\SpotOnLive\EntrustDoctrineORM\Entities\RoleInterface[]
*/
public function getRoles()
{
return $this->roles;
}
/**
* @param ArrayCollection|\SpotOnLive\EntrustDoctrineORM\Entities\RoleInterface[] $roles
*/
public function setRoles($roles)
{
$this->roles = $roles;
}
/**
* @param \SpotOnLive\EntrustDoctrineORM\Entities\RoleInterface[] $roles
*/
public function addRoles($roles)
{
$this->roles->add($roles);
}
/**
* @param \SpotOnLive\EntrustDoctrineORM\Entities\RoleInterface[] $roles
*/
public function removeRoles($roles)
{
$this->roles->remove($roles);
}
(...)
}
Traits
Use \SpotOnLive\EntrustDoctrineORM\Traits\EntrustDoctrineORMUserTrait in your entity., (*6)
Migrations
- Difference:
$ vendor/bin/doctrine-laravel migrations:diff
- Migrate:
$ vendor/bin/doctrine-laravel migrations:migrate
laravel-doctrine/migrations, (*7)
Dependencies
Doctrine for laravel
Organization & authors