簡體   English   中英

從模型獲取存儲庫不起作用

[英]Repository getting from model not working

我有以下存儲庫:

<?php

namespace App\Repositories;

use App\Employee;

class EmployeeRepository
{

    protected $employee;

...

    public function getAllManagersList(Employee $employee)
    {
        $managers = $employee->getAllManagers();
        $result = Array();
        foreach ($managers as $manager)
        {
            $result[$manager->id] = $manager->first_name . ' ' . $manager->last_name;
        }
        return result;
    }


}

哪個在調用模型:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use DB;

class Employee extends Model {

    protected $table = 'employees';

    public $timestamps = true;

...

    public function getAllManagers()
    {
        $managers = DB::table('employees')->select(['id','first_name','last_name'])->orderBy('last_name')->where('is_manager','=','1')->get();
        return $managers;
    }


}

而我的控制器正在調用它:

public function create(EmployeeRepository $employeeRepository)
{
    $manager_list = $employeeRepository->getAllManagersList();
    //\Debugbar::info($manager_list);
    return view('employees/create')->with('manager_list',$manager_list);
}

但是當我運行它時,我得到以下信息:

Type error: Argument 1 passed to App\Repositories\EmployeeRepository::getAllManagersList() must be an instance of App\Employee, none given, called in C:\xampp\htdocs\people\app\Http\Controllers\EmployeeController.php on line 31

我正在嘗試以一種簡潔的方式獲得此信息,以便我的模型只能執行db請求,而我的存儲庫則可以對其進行整理,以使其在頁面中顯示得很好。 這就是為什么我嘗試從控制器到存儲庫再到模型調用它的原因。

您正在調用$employeeRepository->getAllManagersList();

但是該函數定義為: public function getAllManagersList(Employee $employee)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM