2019-01-24 17:08:30 1829次浏览 4条回答 0 悬赏 17 金钱

不知道怎么传类和函数,一传过去就报错了

SiteController

$this->load([
    'model'=>"\app\models\AdminForm()",
    'gz'=>'adminpost',
    'from'=>'AdminForm',
    'data'=>$data,
    'function'=>'ddd',
]);

CommonController

/**
 * $model['model']=app\models\DjForm()//类名
 * $model['gz']='isname'//规则
 * $model['from']='RegFrom'//自定数组表单名
 * $model['data']=传入post或get数据
 * $model['funtion']=调用引用类里面的什么方法
 */
public function load($model){
    $this->json();
    $model=new $model['model'];//app\models\DjForm()
    $model->scenario = $model['gz'];//设置场景规则
    if ($model->load([$model['from'] => $model['data']],$model['from']) && $model->validate()) {
        return $model->$model['funtion'];
    }
    return \yii\bootstrap\ActiveForm::validate($model);
}
  • 回答于 2019-01-24 22:36 举报
    $model = new $model['model']();
    
  • 回答于 2019-01-25 11:42 举报

    报错提供一下

  • 回答于 2019-01-26 23:12 举报

    传参的时候,model 的值不要加括号。你这样写 php 识别的类名是“\app\models\AdminForm()”,不合法不存在

    1 条回复
    回复于 2019-01-27 15:22 回复

    'model'=>"\app\models\AdminForm",这样吗。回头我试试,谢谢大佬

  • 回答于 2019-03-12 11:27 举报

    你为什么这么写呢?这是干什么的?

    $this->load([
        'model'=>"\app\models\AdminForm()",
        'gz'=>'adminpost',
        'from'=>'AdminForm',
        'data'=>$data,
        'function'=>'ddd',
    ]);
    
您需要登录后才可以回答。登录 | 立即注册
yzg91
主管

yzg91

注册时间:2018-11-15
最后登录:2022-05-10
在线时长:22小时13分
  • 粉丝2
  • 金钱479
  • 威望20
  • 积分899

热门问题