bonjour,
j'ai un formulaire qui a les users dans une liste.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('users', 'entity', array(
'label' => 'settings.user.roles',
'class' => 'KunstmaanAdminBundle:User',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('g')
->orderBy('g.username', 'ASC');
},
'multiple' => false,
'expanded' => false,
'required' => false,
'empty_value' => 'All',
)
)->getForm();
} |
dans mon controleur j'ai recuper username comme ça:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Bazar\BasBundle\Form\CallendarAllType;
use ADesigns\CalendarBundle\Event\CalendarEvent;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Kunstmaan\AdminBundle\Entity\User;
class CalendarController extends Controller
{
public function loadCalendarAction(Request $request)
{ $request = $this->get('request');
$form->bind( $request);
$z = $form->getData();
$tq = $z["users"];
$title = $tq->getUsername();
$events = $this->container->get('event_dispatcher')->dispatch(CalendarEvent::CONFIGURE, new CalendarEvent($startDatetime, $endDatetime, $request ,$title))->getEvents();
$response = new \Symfony\Component\HttpFoundation\Response();
$response->headers->set('Content-Type', 'application/json');
$return_events = array();
foreach($events as $event) {
$return_events[] = $event->toArray();
}
$response->setContent(json_encode($return_events));
return $response;
}
} |
il me dis :
atalErrorException: Error: Call to a member function getUsername() on a non-object in ....
ma question est simple comment faire pour me plus avoir cette erreur?
Y'a t il un méthode plus propre?
Attention je ne cherche pas a avoir user courant, je cherche a avoir se que m'envoie se formulaire afin de filtre ma requete json.
merci d'avance pour votre aide
Partager