2017-04-23 7 views
0

LaravelでwhereHasの関数に2つのパラメータを渡そうとしていますが、それ以外の理由で$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(); 
関連する問題