1

ネストされた安らかなコントローラーでは、show メソッドは次のような 2 つの値を受け取る必要があります

public function show($postId, $commentsId)
{

// code

}

生成されたURLは次のようになります

http://localhost/posts/1/comments/1

今私のクエリは次のとおりです。ルート呼び出しを介してこれらの twu 値を送信する必要があります

私はこのように使用しています:

<a href="{{ URL::route('posts.comments.show', value1, value2) }}"> <h3> Click </h3></a>

しかし、それはこのようなエラーを出しています

Symfony \ Component \ Routing \ Exception \ InvalidParameterException
Parameter "dcoms" for route "debates.dcoms.show" must match "[^/]++" ("" given) to generate a corresponding URL.
4

2 に答える 2

0

これでこの問題は解決しました。このタイプの問題を解決するのに役立つ可能性があるため、ここにこの回答を追加しています。@FDL のすばらしいサポートと @kasys に感謝します。

URLを生成する際に@kasysへのコメントで推測したように(@FDLがこれを解決しました)、そこで1つの間違いを犯しました。

この場合、URL生成方法は次のようになります

<a href="{{ URL::route('posts.comments.show', array(value1, value 2)) }}"><h3>Click this link</h3></a>

ここで、value1は投稿の ID をvalue2意味し、コメントの ID を意味するため、このリンクによって URL が生成されます ->

http://localhost/posts/value1/comments/value2

@FDL と、ここに参加してくれたすべてのフィーンドに感謝します。まもなく、世界を揺るがすウェブサイトが登場します。あなたの祝福の友人が必要です:)ありがとう!

于 2013-11-06T11:40:41.513 に答える
0

追加のルートを宣言することでそれを行うことができます。

次のようなものが必要です。

Route::controller('posts', 'RestController');

次の行の下に追加してみてください。

Route::controller('posts/{postId}/comments/{commentsId}', 'RestController@anotherShow');

そして、関数内にこのルートの関数を追加する必要があります:

public function anotherShow($postId, $commentsId)
{

    // code

}

URL::routeまた、次のように変更しました。

URL::route('posts.comments.show', array(value1, value2))

または:

URL::route('posts.comments.show', array('postId'=>value1, 'commentsId'=>value2))
于 2013-11-06T10:56:24.180 に答える