ビューからコントローラにパラメータを送信したいとします。 ビューブレードとコントローラでこれを行う方法は?パラメータでビュー内のlaravel変数
DB::table('news')->where('id', '=', 1)->get()
すべてが機能します。しかし、私はそれがよりよく見えるようにしたいと思います。例:
{{ $news->id='1' }}
これは私の最初のlaravelです。
ビューからコントローラにパラメータを送信したいとします。 ビューブレードとコントローラでこれを行う方法は?パラメータでビュー内のlaravel変数
DB::table('news')->where('id', '=', 1)->get()
すべてが機能します。しかし、私はそれがよりよく見えるようにしたいと思います。例:
{{ $news->id='1' }}
これは私の最初のlaravelです。
I'ldは、あなたのようにルートを経由してコントローラにデータを送信しようと提案します他の答えで述べた。しかし、まだルートが必要ない場合は、この方法を試してみてください。
コントローラをfunction
に静的に設定します。例えば:あなたのview
コール
{{ \App\Http\Controllers\YourControllerName::newsFunc($news->id) }}
これは、コントローラにビューから
を任意のデータを送信するために良いアイデアのように見えるdoesntのしかし、あなたが本当にそれを必要とする場合は、表示して、ブレード・ファイルでそれと対話するコントローラオブジェクトを渡すことができます。
class CatalogController extends Controller
{
public function showNews()
{
return view('catalog.sections', [
'controller' => $this,
]);
}
}
ブレード・ファイル:ブレード・テンプレートで
<div>
@php($controller->doSomething())
</div>
あなたはもっと何かを書くことができますか?これはできない。 : –
あなたのようなルートを呼び出すことができます。
<a href="{{route('something',$news->id)}}"
そして、あなたはこのルートを宣言するあなたのルートファイルに:あなたのコントローラで
Route::get('something/{id}','[email protected]');
あなたがそれを取得することができます。
public function yourMethod($id){
//here u can use $id
}
私はこれを知っていますが、私はルートなしでこれを使いたいと思っています。 –
これは最も便利で安全で推奨される方法です。ルートを使用する際の問題は何ですか? – Sletheren
メインページを選択したいので私が上記のようにデータベースからのニュース。 –
で
public static function newsFunc($id){ //** static
$data = DB::table('news')->where('id','=', $id)->get();
.
.
.
.
.
}
だから、これはあなたが別のルートで行うことができますものです。
ですから、このようなあなたのルートを登録することができます。
Route::get('/news/{id}', '[email protected]');
そして、あなたのコントローラが方法だろう。
public function getNews($id) {
$news = DB::table('news')->where('id', '=', 1)->first();
return view('your-view', compact('news'));
}
をとIDを渡すためにあなたのビューで、あなたが何かを持っているでしょうlike:
<a href="/news/1">Go to first</a>
希望に役立ちます!
ブレードビューからコントローラにビューを送信したいですか? – Sletheren