2016-12-02 7 views
1

@include(user.myview)のようなビューを含めたいと思いますが、このビューにはUserControllerロジックが必要です。だから、私はルートを呼び出すことを考えました:@include(route( 'user.route'))は、Controllerfunctionを呼び出してビューを返しますが、それは動作しません。どのようにこの問題に対処するアイデアですか?Laravelにはビューが含まれています

+0

はあなたがもう少し疑問明確にすることはできますか?なぜ&どのコントローラーロジックをあなたの視点から呼び出す必要があるのですか? ビューはコントローラロジックをトリガすべきではありません。あなたのコントローラは、ビューを返す必要があります。 – ArranJacques

+0

それはすべてと同じです。ビューに何かを渡すと、そのビューに必要なものを含めることができ、すべてのパラメータはそのインクルードファイルで使用できるようになります。 – GabMic

+0

View1はユーザーデータを表示します。このユーザーデータの一部は、ユーザーが行った注文の数をディスパッチするhtmlラベルです。このカウントは別のView2(および@include)によって表示されるはずです。なぜなら、このカウントは複数回表示されるからです。しかし、問題は、注文の量に関するUserControllerからのロジックで、この2番目のビューをどのように埋めるのか分かりません。私はルートを介してこのビューを呼び出す場合、私はちょうどビューを返す関数を実行することができますが、そのように動作しません。 –

答えて

1

view composerを作成してデータを取得する必要があります。

ビューコンポーザーは、ビューのレンダリング時に呼び出されるコールバックまたはクラスメソッドです。ビューをレンダリングするたびにビューにバインドするデータがある場合、ビュー・コンポーザーを使用して、そのロジックを単一の場所に編成することができます。

0

リンクを表示して、希望する場所に挿入するだけです。 リンクには経路があります。

リンクをクリックすると、コントローラメソッドを呼び出すことができます。例えばあなたのshow_link.blade.phpビューで: <a href= {{route('route-name')}} > Click here</a>

このルートはvia経由でメソッドを呼び出します。コントローラで

Route::get('/call/method', '[email protected]_method_name')->name('route-name');

、次のようになります方法のyour_method_name:

public function your_method_name() { return "show what you want to"; }

関連する問題