投稿の基本的なリストビューを作成しています。「編集」ページへのリンクが必要です。
私はブレードを使用しています。私が持っているのは、foreachループを含むテーブルで、各投稿と編集/削除ボタンが表示されます。
私がやりたかったのは、ブレードのURL :: toを使用して、ページの編集ページと削除ページへのリンクを作成し、一貫したリンクを確保することです。
私が使ってみたコード(これはforeachループ内にあるため、$ post-> id変数を思い出してください)は次のとおりです。
<a href="{{ URL::to('admin/posts/edit/$post->id') }}" class="btn btn-mini btn-primary">Edit Post</a>
ただし、これは機能しません。私も試しました
<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
これを回避する方法はありますか?
問題は、単一の'
を含む文字列内でphp変数($ post)を使用していることだと思います。この場合、変数の名前を出力するだけです。これを試して:
<a href="{{ URL::to('admin/posts/edit/' . $post->id) }}" class="btn btn-mini btn-primary">Edit Post</a>
お役に立てれば。ヴラド
vladは既にあなたの質問に正しい答えを与えていますが、URL::action
を介してコントローラーアクションに直接リンクすることもできます:
<a href="{{ URL::action('Admin\PostsController@edit', $post->id) }}">Edit</a>
_{{ }}
_は_<?php echo ;?>
_と同じです
あなたが単一の_'
_を入れた場合
_<?php echo '$hello' ?>
_ = $ hello
しかし、二重にした場合' (")
-> _<?php "$hello" ;?>
_ = Hello World(1つの例のみ)
{{ URL::to("admin/posts/edit/$post->id") }}
のようなものを書く必要があります
これはうまくいくと思います
<a href="{{ url('test/'.$post->id.'/view') }}"></a>
別の方法
<a href="{{URL::to('/')}}/admin/posts/edit/{{$post->id}}">Edit</a>
Laravel 5でこれに問題があったので、質問が古い場合でもポップインすると考えました。
{{ URL::to('/box').'/'.$box->id }}
または{{ url('/box').'/'.$box->id }}
また、route()
ヘルパーを使用して、ルートの名前でURLを生成することもできます。たとえば、ルートの定義:
Route::get('/test/mypage/{id}', 'MyController@myAction')->name('my_route_name');
ビューのコード:
<a href="{{ route('my_route_name', $row['id']) }}">{{ $row['name'] }}</a>