0
I以下のリポジトリを持っている:モデルを呼び出しているリポジトリが動作していないモデルから取得
<?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リクエストとリポジトリを整理して整理して、ページにうまく収まるようにしています。だからこそ、コントローラからリポジトリにモデルを呼び出すようにしています。
申し訳ありません私はあなたが意味することを理解していません...なぜそれは動作していません。私はあなたがこのようなクラスを注入できると思った... – Richard
パラメータがありません。 –