2017-04-23 110 views
0

我想传递两个参数到一个函数在哪里与Laravel因为其他人不会能够使用$businessid但它抛出一个错误,任何人都可以帮助吗?Laravel:将参数传递给函数?

错误:

FatalThrowableError in HomeController.php line 16: Type error: Too few arguments to function App\Http\Controllers\Business\User\HomeController::App\Http\Controllers\Business\User{closure}(), 1 passed in C:\web\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Builder.php on line 938 and exactly 2 expected


代码:

<?php 

namespace App\Http\Controllers\Business\User; 

use App\User; 
use App\Http\Controllers\Controller; 
use Illuminate\Http\Request; 
use Auth; 
use App\Database\Frontend\Roleplay\Business\Businesses; 
use App\Database\Frontend\User\Player; 

class HomeController extends Controller 
{ 
    public function getView(Request $request, $businessid) 
    { 
     $workerCount = Player::whereHas("roleplay", function($q2, $businessid) { 
      $q2->where('business_id', $businessid); 
     })->count(); 

     $workersWorkingCount = Player::where('currently_working', '1')->whereHas("roleplay", function($q2, $businessid) { 
      $q2->where('business_id', $businessid); 
     })->count(); 

     $workersOnlineCount = Player::where('online', '1')->whereHas("roleplay", function($q2, $businessid) { 
      $q2->where('business_id', $businessid); 
     })->count(); 

     $workersOfflineCount = Player::where('online', '0')->whereHas("roleplay", function($q2, $businessid) { 
      $q2->where('business_id', $businessid); 
     })->count(); 

     return view('business.home', compact(
      'workerCount', 
      'workersWorkingCount', 
      'workersOnlineCount', 
      'workersOfflineCount')); 
    } 
} 

回答

5

这是你如何传递变量(一个或多个)的功能..

 $workerCount = Player::whereHas("roleplay", function($q2) use ($businessid) { 
      $q2->where('business_id', $businessid); 
     })->count();