У меня есть объект Developers и таблицу с именем CodeUserReferenceSymfony найти поле
class CodeUserReference
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
*@ORM\ManyToOne(targetEntity="Artel\CustomerBundle\Entity\Developers", inversedBy="newreference")
*/
protected $alluser;
/**
* @ORM\Column(type="string", length=255)
*/
protected $codereference;
и разработчиков
class Developers extends SUser
{
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255, unique=false, nullable=false)
* @Assert\Length(min=3, max=255)
* @Assert\NotBlank
*/
protected $email;
/**
* @ORM\ManyToMany(targetEntity="Artel\CustomerBundle\Entity\CodeUserReference", inversedBy="alluser")
*/
protected $newreference;
У меня есть получить запрос в моем действии
public function profileGetAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$code_user_reference = $em->getRepository('ArtelCustomerBundle:CodeUserReference')->findOneByCodereference($request->query->get('reference'));
$user_by_email = $em->getRepository('ArtelCustomerBundle:Developers')->findOneByEmail($request->query->get('email'));
if (!empty($code_user_reference) && empty($user_by_email))
{
$id = $code_user_reference->getAlluser()->getId();
$user_by_reference = $em->getRepository('ArtelCustomerBundle:Developers')->findOneById($id);
$user_by_reference_json = $em->getRepository('ArtelCustomerBundle:Developers')->createQueryBuilder('d')
->where('d.id= :id')
->groupBy('d.id')
->setParameter('id', $code_user_reference->getAlluser()->getId())
->getQuery()->getArrayResult();
echo json_encode(array('user' => $user_by_reference_json));
die;
}
If(empty($code_user_reference) && !empty($user_by_email))
.......
Я получаю Id в code_user_reference , тогда я нахожу объекты разработчиков с этим идентификатором, затем создаю QueryBuilder и в этом QueryBuilder я нахожу объекты-разработчики снова, для таблицы JSON. Я нахожу это очень тяжелым, кто знает, что проще практиковать?
И как найти пользователя по Codereference '$ code_user_reference = $ em-getRepository ('ArtelCustomerBundle: CodeUserReference') - findOneByCodereference ($ request-> query-> get ('reference')); $ id = $ code_user_reference-> getAlluser() -> getId(); $ user_by_reference = $ em-getRepository ('ArtelCustomerBundle: Developers') -> findOneById ($ id); ' , потому что этот пример не соответствует Ithink –