我有一个类名作为字符串变量(它实际上是一个雄辩的模型类名)class Base_controller{ public modelClassName = 'Product';}我想用参数调用这个模型的方法class Base_controller{ public modelClassName = 'Product'; public function index(){ $fields= 'id, name, price'; $this->modelClassName::select($fields)->get(); }}当我调用 index 函数时,出现错误:Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in ...这样做的正确方法是什么?
2 回答
莫回无
TA贡献1865条经验 获得超7个赞
将类属性的值复制到一个普通变量中,然后使用变量函数调用语法。
class Base_controller{
public modelClassName = 'Product';
public function index(){
$fields= 'id, name, price';
$class = $this->modelClassName;
$class::select($fields)->get();
}
}
红颜莎娜
TA贡献1842条经验 获得超12个赞
call_user_func如果你喜欢,你也可以使用。
public function index()
{
$fields = 'id, name, price';
call_user_func([$this->modelClassName, 'select'], $fields)->get();
}
- 2 回答
- 0 关注
- 233 浏览
添加回答
举报
0/150
提交
取消