symfony2からtwigのエンティティにアクセスする必要があります。 のcontrolerの内部では、私は何かを行うことができます:redirectToRoute()メソッドはrender()のような引数を持つことができますか?
return $this->render('frontendBundle::carrodecompras.html.twig', array(
'entity' => $entity
));
そして小枝で私がentity.name
と、そのようなを持つエンティティのプロパティにアクセスすることができます。
私は同じことを達成するために必要がありますが、機能にredirectToRoute()
return $this->redirectToRoute('frontend_carrodecompras', array(
'entity' => $entity,
));
しかし、動作するようには思えません。私は次のエラーを取得しています
:
変数 "実体は" frontendBundleに存在しません::ライン32
EDITでcarrodecompras.html.twig:私はsymfony 2.7
を使用しています変数$エンティティは、私はこれをテストしただけredirectToRoute関数の前に、(それは実際に私は簡略化のために$エンティティを使用していたアプリの$コルティナと呼ばれる)が存在すること
echo "<pre>";
var_dump($cortina);
echo "</pre>";
return $this->redirectToRoute('frontend_carrodecompras', array(
'cortina' => $cortina,
));
そして、結果はこれです:
object(dexter\backendBundle\Entity\cortina)#373 (16) {
["id":"dexter\backendBundle\Entity\cortina":private]=>
int(3)
...
これは小枝コードです:あなたは、コントローラからredirectToRoute($route, array $parameters)
を呼び出すと
<tr>
{% set imagentela = "img/telas/" ~ cortina.codInterno ~ ".jpg" %}
<td><img src="{{ asset(imagentela | lower) }}" alt="" width="25" height="25">
</td>
<td>{{ cortina.nombre }}</td>
<td>{{ "$" ~ cortina.precio|number_format('0',',','.') }}</td>
</tr>
実際に '$ entity'が存在することを確認してください。 – jbafford
redirectToRouteメソッドが呼び出される前にエンティティがデータベースに保持されているため、$エンティティが存在します。 – enlego
私は '$ entity 'が' redirectToRoute'を呼んでいるところに実際に存在するのではないかと疑います。追加の文脈を提供できますか?それはあまりにも大きくない場合、おそらくredirectToRouteを呼び出す関数ですか?あるいは、 '$ entity'が定義されている場所から、どこに使われているのかを示すコードパスを少なくとも表示していますか? – jbafford