Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/06/2013, 12:21
el_oto
 
Fecha de Ingreso: junio-2013
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta Empezando en Symfony: problema con Doctrine y MsSQL

Hola me llamo Ezequiel, estoy empezando en este mundo de PHP y Symfony. He estado leyendo algunos manuales y estoy tratando de aplicar lo aprendido a algunos ejemplos...

Les paso a comentar, espero ser lo más claro posible.

Estoy queriendo implementar un sencillo ejemplo de manejo de datos a través de Doctrine, en el que se puedan guardar tareas a realizar en una determinada fecha; algo como esto:


Llevé a cabo la conexión con SQL Server 2012, y puedo guardar los datos de los formularios en una tabla. Ahora el problema es cuando los quiero recuperar: quiero utilizar la función findAll() para que me devuelva todas las tareas de la tabla pero no me devuelve nada y no sé en qué estoy fallando. Les dejo el código de la función show:

Código:
public function showAction()
    {
        $tasks = $this->getDoctrine()
            ->getRepository('AcmeTaskBundle:Task')
            ->findAll();                    
        
        $form = $this->createFormBuilder($tasks)
            ->add('task', 'text')
            ->add('dueDate', 'date')
            ->getForm();
        
        return $this->render('AcmeTaskBundle:Default:show.html.twig', array(
            'form' => $form->createView(),
        ));
    }
Y el código de la plantilla show.html.twig:
Código:
<form action="{{ path('task') }}" method="post" {{ form_enctype(form) }}>
    <h3>Tareas:</h3>
    
    <table border="1">
        <tr>
            <th>Tarea</th>
            <th>Fecha</th>
        </tr>
        {% for tasks in form %}
        <tr>
            <td>{{ form_widget(form.task) }}</td>
            <td>{{ form_widget(form.dueDate) }}</td>
        </tr>
        {% endfor %}
    </table>
</form>
Como resultado obtengo esto:


Si en lugar de utilizar findAll() utilizo por ejemplo: find($id='1') funciona correctamente y me devuelve la tarea con ese id.

Si no se entendió bien me dicen y trato de explicarlo mejor, así como si necesitan algún otro código.


Cualquier ayuda es bienvenida. ¡Gracias de antemano!




Edito, olvidé otra duda que tengo:
Tengo los siguientes metadatos de la clase Task:
Código:
Acme\TaskBundle\Entity\Task:
    type: entity
    table: tarea
    id:
        id:
            type: integer
            generator:  { strategy: AUTO }
    fields:
        task:
            type: string
            length: 10
        dueDate:
            type: date
Por lo que estuve leyendo "generator: { strategy: AUTO }" me va generando los id en forma creciente automáticamente, sin embargo no me funciona. Los demás campos se guardan correctamente. Todo esto usando SQL Server 2012. Aclaro que coloqué manualmente los id de las tareas para probar las funciones find.
¿Alguien sabe que puede estar fallando?

¡Gracias nuevamente!

Última edición por el_oto; 28/06/2013 a las 12:45