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!