我有这个特性,我想使用依赖注入<?php namespace App\Http\Controllers\Admin; trait ControllerTrait{public function index($this->model $payroll){ return $this->model->paginate(20); } }使用此特征的控制器namespace App\Http\Controllers\Admin;use Illuminate\Http\Request;use App\Http\Controllers\Controller;use App\Payroll;class PayrollController extends Controller{ use ControllerTrait; public $model = "Payroll"; }$model 现在是一个字符串,如何在调用特征的索引方法时将其转换为对象
3 回答

萧十郎
TA贡献1815条经验 获得超13个赞
我不相信动态类型提示是可能的,在这种情况下也没有必要。
我想这就是你要找的。
namespace App\Http\Controllers\Admin;
trait ControllerTrait{
public function index() {
return ('\App\\'.$this->model)::paginate(20);
}
}

海绵宝宝撒
TA贡献1809条经验 获得超8个赞
我认为您可以将其用作 php 中的字符串
$controllerClassName = 'TODOS\CONTROLLERS\\' . ucfirst($this->_controller) . 'Controller';
这是一个字符串,我用它来创建实例
$controller = new $controllerClassName();

慕姐4208626
TA贡献1852条经验 获得超7个赞
您可以使用“call_user_func”函数来调用模型中的函数。
public $model = "Payroll"; call_user_func($model . "::index");
希望这会有所帮助。
- 3 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消