2016-03-21 10 views
-3

Aşağıdaki sorunu yaşıyorum.Nesneleri twig'den Symfony Controller'a aktarma

Symfony denetleyicisinde bir nesne oluşturuyorum. Bu nesne bir dal şablonuna aktarılıyor. Bu mükemmel çalışır.

Ama şimdi bu nesneyi başka bir denetleyiciye iletmem gerekiyor. Bunu nasıl yaparım?

Bu nesne bir veritabanından bir varlıktır. Bu yüzden bu nesneyi parametre olarak bir rotadan geçirmeye çalışmadığımı düşünüyorum.

Burada ben bir dal şablonundan bu nesneyi geçmek deneyin:

<form method="post" action="{{ path('save', {'id': id, 'myObject': myObject}) }}"> 

i rota parametresi, ancak myObject olarak id geçmek istiyorum. Peki, myObject'i denetleyicime nasıl alabilirim?

Selamlar

cevap

0

Ne yapabilirsiniz şudur: lo

Kontrolör

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use YourBundle\YourEntity; 

/** 
* @Route("/your-entity/{id}/save/", name="save") 
*/ 
public function saveAction(YourEntity $entity) 
{ 
} 

şablonu otomatik

<form method="post" action="{{ path('save', {'id': myObject.id}) }}"> 

Bu işlem Nesneyi id değerinden veritabanına ekleyin veya nesne bulunamadığı zaman 404 atın

+0

Sorun şu ki, bu nesneyi kaydetmek istiyorum. Veritabanında şu anda mevcut değil. – Knate

+0

Bu durumda, bu eğitimi kullanmalısınız: http://symfony.com/doc/current/book/forms.html –