- CRUD - 作成、読み取り、更新、削除します。したがって、CRUDコントローラは定義されたオブジェクトで動作します。あなたはCRUDコントローラのアクションを作成するとき、あなたはそれ以外の場合は、オブジェクトを取得する必要があります - あなたのアクションは、更新、削除を作成するために、どのオブジェクト分からないだろう、など、あなたのルートにオブジェクトのIDを入れてなければならない理由です
。
public function superAction(Request $request, $id = null)
{
try {
if ($id !== null) {
$yourObject = $this->admin->getObject($id);
}
} catch (NotFoundHttpException $e) {
error_log($e->getMessage());
}
//... your logic
}
しかし!あなたのアクションが特定のオブジェクトを使用することを想定していない場合 - あなたのルートにあるオブジェクト$id
を避けることができます。また、GETメソッドで変数を渡すこともできます。あなたが望むほど多く
は、すべてのあなたのオブジェクトを更新することを、想像してみてください。そして、あなたはupdateAllAction()
を作成し、このルートを追加することができます。
/**
* @param RouteCollection $collection
*/
protected function configureRoutes(RouteCollection $collection)
{
$collection->add('updateAll', 'update/all');
}
限り、あなたの行動はあなたのURIに$this->getRouterIdParameter()
を避けることができる特定のオブジェクトを気にしないよう。
は、それが役に立つと思います。
このルートのcurdコントローラアクションをどのように定義しましたか? –
@MKhalidJunaid、はい、しました。 – GasKa