私はsymfonyに新しいですし、私が使用して新しいページにリストからオブジェクトを渡すしようとしています:Symfony3識別子idがAppBundle エンティティのクエリのために不足している
<a href="{{ path('fooUpdate', { 'id': item.id }) }}">Update</a>
リストフーの({% for item in list %})
が細かいオブジェクト、オブジェクトが完全にデータベースからロードされますが、リンクがあるため、この教義エラーの動作しません。ここで
The identifier id is missing for a query of AppBundle\Entity\Foo
はFooのクラスです:
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="foo")
*/
class Foo {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
private $id;
/**
* @ORM\Column(type="string")
*/
private $description;
//getters and setters
そしてここで、コントローラのメソッドです:
http://127.0.0.1:8000/foo/fooUpdate/?id=1
だから私は何をしないのです:
/**
* @Route("/foo/fooUpdate/", name="fooUpdate")
*/
public function updateAction($id, Request $request) {
$foo = $this->getDoctrine()->getRepository('AppBundle:Foo')->find($id);
return $this->render('/foo/fooUpdate.html.twig', array(
'foo' => $foo
));
}
、それが働いているようなエラーのURLがあるので、リンク自体は、見えます?
また、POSTでこれを行う方法はないので、IDはURLに表示されませんか?あなたは、ルート内のIDが欠落している
ありがとう!それはうまくいったが、ポストを介してそれを行う方法についてのアイデアは? – Eduardo
投稿データを送信するためのフォームなどがあるとします。 * @Method({"POST"})のようにルートを設定する必要があります。 Saludos – Hokusai