2013-05-12 11 views
11

私は投稿の基本的なリストビューを作成しており、 '編集'ページへのリンクが必要です。Laravelブレードテンプレート、URL内のforeach変数:: to?

私はブレードを使用していますが、私が持っているものは、foreachループを使って、編集/削除ボタンとともに各ポストを表示したテーブルです。

私がしたいことは、一貫したリンクを確保するために、編集と削除のページへのリンクにブレードのURL :: toを使用することでした。しかし、これは動作しません

<a href="{{ URL::to('admin/posts/edit/$post->id') }}" class="btn btn-mini btn-primary">Edit Post</a> 

私が使用して試したコードは(これはforeachループので、$ポスト>のid VAR内であることを覚えている)これです。私も試しました

<a href="{{ URL::to('admin/posts/edit/<?php echo $post->id; ?>') }}" class="btn btn-mini btn-primary">Edit Post</a> 

でも動作しません。

私はすべてのエラーを取得いけない、リンクは文字通りビーイングを終わる:

http://domain.dev/admin/posts/$post->id 

は、この問題を回避作業の方法はありますか?

答えて

20

私は問題はあなたが単一の'の文字列内でPHP変数($ post)を使用していると思います。この場合、変数の名前が出力されます。試してみてください:

<a href="{{ URL::to('admin/posts/edit/' . $post->id) }}" class="btn btn-mini btn-primary">Edit Post</a> 

希望します。 ヴラド

13

ヴラドは、すでにあなたの質問に正しい答えを与えていますが、直接URL::actionを経由してお使いのコントローラのアクションにリンクすることができていることに注意しています

<a href="{{ URL::action('Admin\[email protected]', $post->id) }}">Edit</a> 
+0

感謝。これは私の問題を解決するのに役立ち、アクションへのリンクが経路内のマッチ変数を設定する変数を認識していると思った。そうではありません。私は2番目のパラメータとして渡す必要がありました。 – RedGlobe

1

場合{{ }}<?php echo ;?>

に等しいです。あなたはシングルを置く'

<?php echo '$hello' ?> = $ hello

しかし、あなたは、二重置けば' (") - ><?php "$hello" ;?> = Hello Worldの(ほんの一例)あなたは{{ URL::to("admin/posts/edit/$post->id") }}

0

<a href="{{URL::to('/')}}/admin/posts/edit/{{$post->id}}">Edit</a> 
0

はLaravelにこれで問題を持っていた別の方法のようなものを書く必要が

5そう思っていたら、質問が古くてもそれをポップインしてください。また、あなたは、ルートの名前でURLを生成するroute()ヘルパーを使用することができ

{{ URL::to('/box').'/'.$box->id }}

または {{ url('/box').'/'.$box->id }}

0


を使用して、私の問題を解決しました。たとえば、ルートの定義:あなたのビューで

Route::get('/test/mypage/{id}', '[email protected]')->name('my_route_name'); 

コード:このため

<a href="{{ route('my_route_name', $row['id']) }}">{{ $row['name'] }}</a> 
関連する問題