<?php

namespace Entity\Merchant;

use Doctrine\ORM\Mapping as ORM; // alias for doctrine ORM annotations

/**
 * @ORM\Entity(repositoryClass="Repository\Merchant\MembershipRepository")
 * @ORM\Table(name="mch_account_member")
 */
class Membership
{
    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="Entity\User\Account", inversedBy="memberships")
     * @ORM\JoinColumn(name="uid", referencedColumnName="uid")
     */
    protected $userAccount;

    /**
     * @ORM\ManyToMany(targetEntity="Entity\User\Privilege", indexBy="resourceid")
     * @ORM\JoinTable(name="user_mch_account_privilege",
     *   joinColumns={
     *       @ORM\JoinColumn(name="mch_accountid", referencedColumnName="mch_accountid"),
     *       @ORM\JoinColumn(name="uid", referencedColumnName="uid")
     *   },
     *   inverseJoinColumns={
     *       @ORM\JoinColumn(name="resourceid", referencedColumnName="resourceid")
     *   }
     * )
     */
    protected $privileges;
}