Simple referal system bundle. Based on Symfony 2.6 and FOS User Bundle
- Symfony 2.6: "symfony/symfony": "2.6.*",
- FOS User Bundle: "friendsofsymfony/user-bundle": "~2.0@dev"
Put code into the src/Melk directory.
Create User entity (read the fos user configuration documentation). For example: AppBundle\Entity\User
Create new entity in your App bundle. For example:
namespace AppBundle\Entity;
use Melk\SimpleReferalBundle\Entity\ReferalCode as BaseCode;
use Doctrine\ORM\Mapping as ORM;
/**
* Class ReferalCode
*
* @ORM\Entity
* @ORM\Table(name="my_app_referal_code")
*
* @package AppBundle\Entity
*/
class ReferalCode extends BaseCode{
/**
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*
* @var integer
*/
protected $id;
/**
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="SET NULL")
*
* @var User
*/
protected $user;
}
Create new entity in your App bundle. For example:
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Melk\SimpleReferalBundle\Entity\ReferalInfo as BaseInfo;
/**
* Class ReferalInfo
*
* @ORM\Entity
* @ORM\Table(name="my_app_referal_info")
*
* @package AppBundle\Entity
*/
class ReferalInfo extends BaseInfo{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*
* @var integer
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\ReferalCode")
* @ORM\JoinColumn(name="ref_code_id", referencedColumnName="id", onDelete="CASCADE")
*
* @var ReferalCode
*/
protected $refCode;
}
Configure the bundle:
melk_simple_referal:
code_class: AppBundle\Entity\ReferalCode
info_class: AppBundle\Entity\ReferalInfo
After all configurations done just use the bundle