こんにちは、ParamConverter を使用して DB から複数の行を取得しようとしていますが、プロファイラーは でクエリを表示しますlimi 1
。そんなに取れるのか
/**
* @Route("/localization/{code}", name="pkt-index")
* @ParamConverter("localizations", class="PriceBundle:Localization")
*/
入力後localization/0003
、100行以上取得する必要があります。
編集:repository_method
オプションを
使用しました
/*
* @Route("/localization/{id}", name="pkt-index")
* @ParamConverter("localizations", class="PriceBundle:Localization", options={
* "repository_method": "getByLocalizationCode"
* })
*/
しかし、面白いことに{id}
、ルートを変更すると機能せず
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
、エンティティクラスに変数が存在する場合でも例外がスローされ、変数が存在しない場合はスローされます
Unable to guess how to get a Doctrine instance from the request information.
説明
ルートを変更
{id}
すると機能せず、例外がスローされますSQLSTATE[HY093]: Invalid parameter number: parameter was not defined
ここで、symfonyid
は主キーのようにトレッドし、リポジトリ メソッドへのパラメーターとして、これを別のものstring
に変更すると渡されると思います。id
array
例
/**
* @Route("/localization/{id}", name="pkt-index")
*/
string
メソッドに渡す
/**
* @Route("/localization/{code}/{name}", name="pkt-index")
*/
array
メソッドに渡す
array(
'code' => 003
'name' => localization_name
)
そして最後
/**
* @Route("/localization/{id}/{name}", name="pkt-index")
*/
string
IDを渡します 名前を省略します
これが合理的に聞こえることを願っています。