如何将变量传递给mpdf?

How to pass variables to mpdf?

我想将变量 $name$age 从我的控制器传递到 mpdf 视图页面。 但是,它给了我一个错误:Undefined variable: name

我试过三种方式传递数据: 1) 在 Controller getName()getAge() 中创建单独的方法并在视图中调用它们

2) 渲染页面时发送变量

3) 尝试直接从视图中查询数据库中的年龄和姓名。

三种方式都没有给出结果。 1 和 3 导致页面未加载,第二个显示 Undefined variable: name error.

查看:

<div><?= $name; ?></div>

P.S。我也试过这样做:

<div><?echo $name; ?></div>
<div><?php $name; ?></div>

控制器:

public function actionIndex(){
  $this->actionCreateMPDF();
  $a =  Profile::find('age')->where(['user_id'=>\Yii::$app->user->id])->asArray()->one();
  $age = $a['age'];

  $n =  Profile::find('name')->where(['user_id'=>\Yii::$app->user->id])->asArray()->one();     
  $name = $n['name'];
  return $this->render('index',[
    'age'  => $age,
    'name' => $name,
  ]);
}

public function actionCreateMPDF(){
  $b = true;
  $mpdf = new mPDF();
  $mpdf->WriteHTML($this->renderPartial('index'));
  $mpdf->showImageErrors = true;
  $mpdf->Output();
  exit; 
}

如果有人知道我的问题是什么请帮助我:3

需要将变量传递给函数actionCreatePdf()

public function actionIndex(){
    $profileData = Profile::find()
        ->select(['age', 'name'])
        ->where(['user_id'=>\Yii::$app->user->id])
        ->one();

    $age = $profileData->age;
    $name = $profileData->name;

    $this->actionCreateMPDF($age, $name);
    return $this->render('index',[
        'age'  => $age,
        'name' => $name,
    ]);
}

public function actionCreateMPDF($age, $name){
    $b = true;
    $content = $this->renderPartial('index',[
        'age'  => $age,
        'name' => $name,
    ]);

    $mpdf = new mPDF();
    $mpdf->WriteHTML($content);
    $mpdf->showImageErrors = true;
    $mpdf->Output();
    exit;
}