2017-06-15 35 views
0

显示错误:缺少参数1为App \ HTTP \控制器\ AdminLoginController ::名称()显示错误,同时获取用户名

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

AdminLoginController:它是一个后台管理控制器代码

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:其管理员登录控制器代码:

<?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 

}); 

错误:

(1/1)ErrorException 缺少参数1为App \ HTTP \控制器\ AdminLoginController ::名称()

+0

我认为你的调用名称方法没有参数 – JYoThI

+0

你的'name'方法调用缺少一个参数。您必须将参数传递给您的方法调用。 –

+0

显示您的姓名方法呼叫部分@krunal – JYoThI

回答

0

你的控制器方法走的是用户名PARAM但路由绑定不通过一个。更改路线

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

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

如果你不想改变你的路线,改变你的控制器函数签名的下方(如图所示其他的答案),并确保你在调用url时将'username'作为请求参数传递。

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

但我希望用户名直接,而不需要在参数中传递用户名 – Krunal

+0

你如何要你的网址看起来像? – 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

你应该试试这个:

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

不工作@ AddWeb Solution Pvt Ltd – Krunal

+0

@ Krunal请显示您的路线和控制器代码。 –

+0

请检查更新 – Krunal

相关问题