Foros del Web » Programando para Internet » PHP » Symfony »

CRUD con doctrine

Estas en el tema de CRUD con doctrine en el foro de Symfony en Foros del Web. Estimados tengo este inconveniente 1) generé el bundle con el comando de consola app\console generate:bundle 2) generé una entity Articles app\console doctrine:generate:entity 3) Creé el ...
  #1 (permalink)  
Antiguo 23/03/2014, 19:15
 
Fecha de Ingreso: junio-2003
Ubicación: Carlos Paz - Cordoba
Mensajes: 91
Antigüedad: 20 años, 10 meses
Puntos: 0
CRUD con doctrine

Estimados
tengo este inconveniente

1) generé el bundle con el comando de consola
app\console generate:bundle

2) generé una entity Articles
app\console doctrine:generate:entity

3) Creé el controller ArticleController y agregué sus rutas

Los paths "list" y "add" andan ok, el problema es el edit
porque en el form de twig no se renderiza el contenido de los campos
(aparecen sin el attribute "value", pero el find($id) me trae correctamente
el array $article

incluso cuando doy "enviar" en el submit se actualiza correctamente la fila
correspondiente de la tabla

el unico problema es que no me popula los campos

aqui una parte de la definicion de la Entity


Código PHP:
<?php

namespace MasEventosMyBundleEntity
;

use 
DoctrineORMMapping as ORM;

/**
 * Articles
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="MasEventos\MyBundle\Entity\ArticlesRepository")
 */
class Articles
{
    
/**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    
private $id;

    
/**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    
private $name;

Aqui el controller

Código PHP:
<?php

namespace MasEventosMyBundleController
;

use 
SymfonyBundleFrameworkBundleControllerController;
use 
MasEventosMyBundleEntityArticles;
use 
MasEventosMyBundleFormArticleType;

class 
ArticlesController extends Controller
{
    public function 
indexAction()
    {
        
$em=$this->getDoctrine()->getEntityManager();
        
$articles $em->getRepository('MasEventosMyBundle:Articles')->findAll();
        
        return 
$this->render('MasEventosMyBundle:Articles:index.html.twig', array('articles' => $articles));        
    }
    public function 
editAction($id)
    {
        
$request=$this->getRequest();
        
$em=$this->getDoctrine()->getManager();
        
$article $em->getRepository('MasEventosMyBundle:Articles')->find($id);
        
$form $this->createForm(new ArticleType(),$article);

        if (
$request->getMethod('POST')) {
            
$form->bind($request);

            if (
$form->isValid()) {

                
$em->persist($article);
                
$em->flush();
                
                
$redirect $this->generateUrl('articles');
                return 
$this->redirect($redirect);
            }
        }
        
$data = array(
            
'form' => $form->createView(),
            
'title' => 'Editar articulo',
        );
        return 
$this->render('MasEventosMyBundle:Articles:edit.html.twig'$data);
    }
}

Aqui la clase para el Form

Código PHP:
<?php

namespace MasEventosMyBundleForm
;

use 
SymfonyComponentFormFormBuilderInterface
use 
SymfonyComponentFormAbstractType;
//use Symfony\Component\Validator\Constraints as Assert;

class ArticleType extends AbstractType
{
    public function 
buildForm(FormBuilderInterface $builder, array $options)
    {
        
$builder
            
->add('name''text', array(
                
'required' => FALSE,
                
'label' => 'nombre',
            ))
            ->
add('price''integer', array(
                
'required' => FALSE,
                
'label' => 'precio',
            ));
        
    }

    public function 
getName()
    {
        return 
'article';
    }
}
cuando lo edito mediante

http://localhost/symfony/web/app_dev...rticles/edit/3

me carga el form sin los datos (los campos vacios)

no sé qué mas probar

Gracias mil de antemano
Daniel
__________________
Daniel Schell
Promoviendo el Desarrollo Humano
www.elsenderodelmedio.com.ar

Última edición por dschell; 23/03/2014 a las 19:16 Razón: faltó el link de edicion

Etiquetas: crud, doctrine
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:57.