2016-12-30 5 views
0

ミドルウェアからルートパラメータを読み込もうとしています。 ルートは次のように定義されています。あなたは次のようにあなたがやりたいことができるはずルートパラメータを渡すときにLaravelミドルウェアの非オブジェクトエラーのプロパティを取得しようとしています

namespace App\Http\Middleware; 

use Closure; 
use App\Task; 
class test 
{ 
    /** 
    * Handle an incoming request. 
* 
* @param \Illuminate\Http\Request $request 
* @param \Closure $next 
* @return mixed 
*/ 
public function handle($request, Closure $next) 
{ 
    print_r($request->route()->parameter('task_id')); 
    /*$result=Task::where('id','=',$id)->get()->count(); 
    if($result==0) 
     return "This id doesn't exist!"; 

    return $next($request);*/ 
} 
} 

答えて

0

ミドルウェアはいつでもリダイレクトを返すようにしたいという問題がありました。

0

:エラーがのように定義されたミドルウェアで発生

Route::get('/tasks/{task_id}','[email protected]')->middleware('test'); 

$this->route('task_id'); 
+0

どこに置く必要がありますか? – bruce

+0

どこに置いたらいいですか?ミドルウェアの中ではうまくいきません!ハンドル関数内の – bruce

+0

はすべて削除し、dd($ request)のみを追加します。 あなたは何を見ますか? – Sithira

0

これを使用します。ここでtask_idは、探しているパラメータの名前でなければなりません

$request->route('task_id') 
+0

同じエラー!私を助けてください。 – bruce

+0

はあなたのミドルウェアが登録されていますか? ミドルウェアの内部で何が起きたらどうなりますか?それは何かをダンプしますか? – Sithira

+0

dd()関数を使うとうまく動作します。私は変数の値を取得できます。しかし、私が$ id = $ request-> route( 'task_id')を使うと、同じエラーが発生します。 – bruce

関連する問題