2017-06-15 3 views
0

ショーのエラーを取得しながら、:Appの引数1がありません\のHttpコントローラ\ \ AdminLoginController ::名前を()ショーエラーユーザ名

public function name($username) { 
      $user = AdminLogin::find($username); 
      return response()->json($user); 
     } 

AdminLoginControllerを:そののにadminloginコントローラコード

class AdminLoginController extends Controller{ 

public function show(){ 

     $res ="Hello world!"; 

     return response()->json($res); 
    } 

    public function log() { 

     $users = AdminLogin::all(); 

     return response()->json($users); 
    }  
    public function name($username) { 
    $user = AdminLogin::where('username',$username)->first(); 
    return response()->json($user); 
    } 

RouteLoginController:そのadminloginコントローラコード:

<?php 

$app->get('/', function() use ($app) { 
    return $app->version(); 
}); 

$app->group(['prefix' => 'api/v1'], function ($app) 
{ 
    $app->get('adminlogin', '[email protected]'); //get single route 
    $app->get('user', '[email protected]'); //get single route 
    $app->get('username', '[email protected]'); //get single route 
    $app->post('adminlogin', '[email protected]'); //get single route 

}); 

エラー:

0 Appの引数1がありません

(1/1)ErrorException \のHttpコントローラ\ \ AdminLoginController ::名前()

+0

引数なしの名前メソッドを呼び出すと思います。 – JYoThI

+0

'name'メソッド呼び出しに引数がありません。メソッド呼び出しに引数を渡す必要があります。 –

+0

あなたの名前のメソッドを呼び出す部分@krunal – JYoThI

答えて

0

をルートバインディングは通過しません。あなたは(他の回答のように)あなたのコントローラ機能のシグネチャは以下に変更し、あなたのルートを変更したい、とあなたを確認していない場合は

$app->get('user/{username}', '[email protected]'); 

にあなたのルート

$app->get('username', '[email protected]'); 

を変更urlを呼び出している間、リクエストのparamとして 'username'を渡しています。

public function name(\Illuminate\Http\Request $request) { 
    $user = AdminLogin::where('username',$request->username)->first(); 
    return response()->json(['user' => $user]); 
} 
+0

しかし、私はユーザー名をパラメータに渡さずに直接入力します – Krunal

+0

どのようにあなたのURLを見た目にしますか? – ayip

+0

url example.com/api/v1/user/Krunalにユーザー名を渡したい場合は、私の回答で述べた経路変更を使用してください – ayip

0

おそらくAJAX要求を使用して、クエリ文字列に名前を入れて、この関数を呼び出しています。この場合、nameパラメータは関数の属性として送信されず、要求オブジェクトの一部になります。

あなたはそうのようにこの問題を解決することができます。

public function name(\Illuminate\Http\Request $request) { 
    $user = AdminLogin::find($request->username); 
    return response()->json($user); 
} 
+0

は動作していません@Jerodev – Krunal

+0

何が問題なのですか?エラーメッセージが表示されますか? – Jerodev

0

あなたはこの試してみてください:あなたのコントローラメソッドは、ユーザー名のparamを取っているが、

public function name($username) { 
    $user = AdminLogin::where('username',$username)->first(); 
    return response()->json(['user' => $user]); 
} 

OR

public function name(\Illuminate\Http\Request $request) { 
    $user = AdminLogin::where('username',$request->username)->first(); 
    return response()->json(['user' => $user]); 
} 
+0

not working @ AddWeb Solution Pvt Ltd – Krunal

+0

@Krunalあなたのルートとコントローラコードを示してください。 –

+0

更新を確認してください – Krunal

関連する問題