在另一个方法中调用一个方法并在控制器中传递参数

时间:2018-07-12 00:55:04

标签: laravel laravel-5 laravel-5.5

第一个方法具有查询条件,它返回指定查询的计数。第二个方法调用第一个方法。第一个问题,如何从方法userSummary将参数 $ compid 传递给方法countEmployee?第二个问题,在方法userSummary中调用方法countEmployee是正确的事情吗?

  

第一种方法

public function countEmployee($compid){
                    $query = User::query();
                    $company = $query;
                    // $thgarments = $query;
                    $company->whereHas('company', function ($q) {
                        $q->where('company_id','=', $compid);
                    });
                    $company->where('emp_status','=', 'Regular');
                    $totalemployee = $company->count();

                    return $totalemployee;
    }
  

第二种方法

public function userSummary()
{
     $tenghwa = countEmployee(2);
}

2 个答案:

答案 0 :(得分:1)

尝试此更正的代码

public function countEmployee($compid) 
{
     $query = User::query();

     $totalemployee = $query->whereHas('company', function ($q) use ($compid) {
         $q->where('company_id','=', $compid);
     })->where('emp_status','=', 'Regular')
     ->count();

    return $totalemployee;
}

答案 1 :(得分:0)

public function countEmployee($compid){
                    $query = User::query();
                    $company = $query;
                    // $thgarments = $query;
                    $company->whereHas('company', function ($q) use($compid) {
                        $q->where('company_id','=', $compid);
                    });
                    $company->where('emp_status','=', 'Regular');
                    $totalemployee = $company->count();

                    return $totalemployee;
    }

    public function userSummary()
    {
         $tenghwa = $this->countEmployee(2);
    }

我意识到自己的错误。我应该在第一种方法中“使用” $ compid,在第二种方法中,我应该将$ this放在调用countEmployee方法中。