将数据表格数据库放入复选框symfony 3 [英] put data form database into checkbox symfony 3
问题描述
我开始学习symfony 3.对于第一个项目,我选择了一个简单的totodlist。
现在我有可能在我的数据库中创建和保存用户。接下来我可以为他们创建一个任务。
我想创建一个复选框,我可以在其中选择用户执行任务。
将数据从我的用户数据库放到复选框形式($ temp_users varbiable)。我不知道该怎么做。
任何人都可以告诉我如何做。
是我的代码:
public function createAction(Request $ request)
{
todo = new Todo;
$ users = $ this-> getDoctrine()
- > getRepository('AppBundle:User')
- > findAll
$ temp_users = array();
foreach($ users as $ user){
$ temp_users [$ user-> getUsername()] = $ user-> getId();
}
c $ c> $ form = $ this-> createFormBuilder($ todo)
- > add('name',TextType :: class,array('attr'=> array ;'form- control','style'=>'margin-bottom:15px')))
- > add('wykona',CheckboxType :: class,array ('label'=> $ temp_users,'required'=> false,))
将此代码添加到代码中。
$ form = $ this-> createFormBuilder($ todo)
- > add('users' EntityType :: class,array(
'class'=>'AppBundle:User',
'query_builder'=> function(EntityRepository $ er){
return $ er-> createQueryBuilder('u')
- > orderBy('u.name','ASC')
},
'choice_label'=> 'name',
'multiple'=> true,
'expanded'=> true,
));
此外,您不需要在 createAction / p>
REMOVE以下代码
$ users = $ this-> getDoctrine()
- > getRepository('AppBundle:User')
- > findAll
$ temp_users = array();
foreach($ users as $ user){
$ temp_users [$ user-> getUsername()] = $ user-> getId();
I started learn symfony 3. For the first project i chose a simple totodlist.
So now i have possibility to create and save the user in my database. Next I can create a task for them.
I want to create a checkbox where can i choose a users to perform a task.
So i need put data from my user database to checkbox form ($temp_users varbiable). I don't know how to do it.
Can anybody show me how to do it.
below is my code:
public function createAction(Request $request)
{
$todo = new Todo;
$users = $this->getDoctrine()
->getRepository('AppBundle:User')
->findAll();
$temp_users = array();
foreach($users as $user) {
$temp_users[$user->getUsername()] = $user->getId();
}
$form = $this->createFormBuilder($todo)
->add('name', TextType::class, array('attr' => array('class' => 'form- control', 'style' => 'margin-bottom:15px')))
->add('wykona', CheckboxType::class, array('label' => $temp_users, 'required' => false,))
Try this code inside your createAction.
ADD this into your code
$form = $this->createFormBuilder($todo)
->add('users', EntityType::class, array(
'class' => 'AppBundle:User',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.name', 'ASC')
},
'choice_label' => 'name',
'multiple' => true,
'expanded' => true,
));
Also you don't need the following code anymore inside createAction.
REMOVE Below code from your code
$users = $this->getDoctrine()
->getRepository('AppBundle:User')
->findAll();
$temp_users = array();
foreach($users as $user) {
$temp_users[$user->getUsername()] = $user->getId();
这篇关于将数据表格数据库放入复选框symfony 3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!