THIS PACKAGE IS UNDER DEVELOPMENT
Run $ composer require spotonlive/sl-entrust-doctrine-orm
config/app.php
'providers' => [
(...)
SpotOnLive\EntrustDoctrineORM\EntrustDoctrineORMServiceProvider::class,
'Zizaco\Entrust\EntrustServiceProvider',
(...)
]
'aliases' => [
(...)
'Entrust' => 'Zizaco\Entrust\EntrustFacade'
(...)
]
User.php
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);
}
(...)
}
Use \SpotOnLive\EntrustDoctrineORM\Traits\EntrustDoctrineORMUserTrait
in your entity.
- Difference:
$ vendor/bin/doctrine-laravel migrations:diff
- Migrate:
$ vendor/bin/doctrine-laravel migrations:migrate