Skip to content

Instantly share code, notes, and snippets.

@jerronimo
Last active August 29, 2015 14:06
Show Gist options
  • Save jerronimo/81d00015470c927de866 to your computer and use it in GitHub Desktop.
Save jerronimo/81d00015470c927de866 to your computer and use it in GitHub Desktop.
<?php
/**
* @Route("/personal/personal_stories/edit_stories", name="edit_stories")
* @Template("FtWsContestStoriesBundle:Stories:edit_stories.html.twig")
* @param Request $request
* @return array
*/
public function editStories2Action(Request $request)
{
$user = $this->getUser();
$stories = $this->getEm()->getRepository('FtWsContestDefaultBundle:Stories')->findBy(['user' => $this->getUser()->getId()]);
$form = $this->createFormBuilder()
->add('name', 'entity', array(
'class' => 'FtWsContestDefaultBundle:Stories',
'expanded' => false,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.name', 'ASC');
}
))
->add('contests', 'entity', array(
'class' => 'FtWsContestDefaultBundle:Contests',
'expanded' => false,
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('c')
->orderBy('c.name', 'ASC');
}
))
->add('save', 'submit')
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
$name = $form->get('name')->getData();
$contests = $form->get('contests')->getData();
$qb = $this->getEM()->createQueryBuilder();
$qb
->select('s', 'c')
->from('FtWsContestDefaultBundle:Stories', 's')
->join('s.contests', 'c')
->where('s.name = :storiesName')
->andwhere('s.user = :user')
->andWhere('c.name =:contestsName')
->setParameters([
'storiesName'=> $name->getName(),
'user' => $user->getId(),
'contestsName' => $contests->getName()
]);
$stories = $qb->getQuery()->getResult();
}
return [
'user' => $user,
'stories' => $stories,
'avatar' => $this->getAvatar(),
'form' => $form->createView()
];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment