簡體   English   中英

Yii2控制器中的下拉列表值

[英]Yii2 Dropdown list value in controller

我的視圖中有一個下拉列表,想稍后再從控制器發送電子郵件

創建視圖:

echo $form->field($model, 'company')->dropDownList(['a' => 'LG', 'b' => 'Samsung'], ['prompt'=>''])->label('Company');

動作代碼:

public function actionVacancy()
{
    $model=new VacancyForm;

    if($model->load(Yii::$app->request->post()) &&$model->validate())
    {

      Yii::$app->mailer->compose('vacancy',[
                        ...
                        'company'=> $model->company,
                        ...
      ])

訪問下拉列表所選值的正確方法是什么? 目前我只能訪問密鑰,但不了解如何獲取價值

提前致謝

在控制器中,您需要先將POST值加載到模型中,然后才能訪問它們。

$model = new Model();

if ($model->load(Yii::$app->request->post())) {

//send email
$company = $model->company

...

在控制器中,您將獲得POST的結果。 在這種情況下,您將獲得與下拉列表相關的ID的值,因為這是通過郵寄發送的值。

如果要在控制器中獲取描述,還需要通過ID find與模型相關的描述。

 use yourapp\models\Company;

 $company = Company::find()
->where(['id' => $model->company])
->one();

假設$ model-> company包含您要查找的對象的ID

  $company->name  //  

應該包含所需的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM