如何通过在Yii2中使用会话变量来获取名称而不是id

时间:2017-11-10 06:14:45

标签: php yii2 session-variables

我正在使用提交按钮保存表单。在创建它时,我将其重定向到另一个视图。在此视图中,我传递id的{​​{1}},然后从该模型中设置我可以进一步使用的变量。

model

在我看来,我正在展示这些变量

public function actionViewpdf($id)
{
     $model=$this->findModel($id);
    /*print_r($model);
    exit();*/
    $id = $model->id;
    $created_by = $model->created_by;
    $issuer = $model->issuer;
    $store = $model->store_id;
    $admin = $model->admin_incharge;
    $pm = $model->project_manager;


    $session = Yii::$app->session;
    $session ->set('id',$id);

    $session = Yii::$app->session;
    $session ->set('created_by', $created_by);

    $session = Yii::$app->session;
    $session ->set('user',$issuer);

    $session = Yii::$app->session;
    $session ->set('store', $store);

    $session = Yii::$app->session;
    $session->set('admin',$admin);

    $session = Yii::$app->session;
    $session ->set('pm',$pm);

}

我得到的输出是

<h5>OGP Serial# : <?php echo Yii::$app->session['id']; ?></h5><br/>
        <h5>Created By: <?php echo Yii::$app->session['created_by']; ?></h5><br/>
        <h5>Issued To: <?php echo Yii::$app->session['user']; ?></h5><br/>
        <h5>Store: <?php echo Yii::$app->session['store']; ?></h5><br/>
        <h5>Admin In-Charge: <?php echo Yii::$app->session['admin']; ?></h5><br/>
        <h5>Project Manager: <?php echo Yii::$app->session['pm']; ?></h5><br/>

现在在OGP Serial# : 28 Created By: 12 Issued To: 88 Store: 10 Admin In-Charge: Faisal Project Manager: Ali Created ByStore我想显示名称而不是Issued to

我已经搜索过但找不到答案

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

你可以使用类似的东西:

echo User::findById(Yii::$app->session['created_by'])->name

另一件可能有用的事情是在模型对象的类中创建关系,并将model传递给视图,使其可用为

$model->createdBy->name