Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Прошу помочь с symfony2
Форумы портала PHP.SU » » CMS и фреймворки » Прошу помочь с symfony2

Страниц (1): [1]
 

1. karmis - 02 Марта, 2012 - 07:15:17 - перейти к сообщению
Ест формочка на symfony2

При запросе из контроллера
PHP:
скопировать код в буфер обмена
  1.  
  2.                         $entity = $this->getDoctrine()->getRepository('AmicusSecondSharesBundle:FinanceIndicator')
  3.                                 ->[b]findOneBy[/b]
  4.                                         (
  5.                                                 array('company_id'=>$company_id)
  6.                                         );
  7.  

в шаблоне все отрабатывает нормльно, значения из бд занимают сови места в инпутах.
Шаблон
CODE (html):
скопировать код в буфер обмена
  1.  
  2.                 <form action="{{ path('finance_indicator_show',{'company_id':entity_0.company_id}) }}" method="post" {{ form_enctype(form) }} novalidate="novalidate">
  3.  
  4.                         {{ form_widget(form) }}
  5.                         {{ form_rest(form) }}
  6.                         <input type="submit" />
  7.                 </form>
  8.  



но усли вместо findOneBy использовать findBy -- то в ответ возвращает массив.

Собственно вопрос.
Как разобрать этот массив, что бы он вернул несколько формочек со значениями, вместо одной


Вот сам контроллер
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. namespace Amicus\SecondSharesBundle\Controller;
  4.  
  5. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Amicus\SecondSharesBundle\Entity\FinanceIndicator;
  9. use Amicus\SecondSharesBundle\Form\FinanceIndicatorType;
  10.  
  11. class FinanceIndicatorController extends Controller
  12.         {
  13.                 public function indexAction()
  14.                         {
  15.                                 return new Response('Ok');
  16.                         }
  17.  
  18.                
  19.                 public function showAction($company_id, Request $request)
  20.                         {
  21.                        
  22.                         $entity = $this->getDoctrine()->getRepository('AmicusSecondSharesBundle:FinanceIndicator')
  23.                                 ->findBy
  24.                                         (
  25.                                                 array('company_id'=>$company_id)
  26.                                         );
  27.  
  28.                     if(!$entity)
  29.                         {
  30.                             throw $this->createNotFoundException('Такая компания не найдена в базе данных');
  31.                         }
  32.                     else
  33.                             {          
  34.                                 $form=$this->createForm(new FinanceIndicatorType(), $entity);
  35.                                
  36.                                 if ($this->getRequest()->getMethod() == 'POST')
  37.                                         {
  38.                                                 $form->bindRequest($request);
  39.                                                         if ($form->isValid())
  40.                                                         {
  41.                                                                 $em = $this->getDoctrine()->getEntityManager();
  42.                                                                 $em->persist($entity);
  43.                                                                 $em->flush();
  44.                                                         }
  45.                                         }
  46.  
  47.                                 return $this->render('AmicusSecondSharesBundle:FinanceIndicator:index.html.twig', array
  48.                                         (
  49.                                                 'entity_0'=>$entity,
  50.                                                 'form'=>$form->createView()
  51.                                         ));
  52.                                 }
  53.                        
  54.                         }
  55.         }
  56.  
2. Panoptik - 02 Марта, 2012 - 09:08:36 - перейти к сообщению
обычно через foreach
3. karmis - 02 Марта, 2012 - 10:50:35 - перейти к сообщению
Да, сделал,... теперь проблема отправить все это назад на сервер

 

Powered by ExBB FM 1.0 RC1