[英]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.