私は従業員のモデル、コントローラ、ビューを持っています。 EmployeeテーブルにFirstName、MiddleName、LastNameなどが含まれていますyii2のドロップダウンリストに姓と名を表示する方法
yii2ドロップダウンリストにEmployee FirstNameとLastNameを一緒に表示したかったのです。どうやってするか?
私は従業員のモデル、コントローラ、ビューを持っています。 EmployeeテーブルにFirstName、MiddleName、LastNameなどが含まれていますyii2のドロップダウンリストに姓と名を表示する方法
yii2ドロップダウンリストにEmployee FirstNameとLastNameを一緒に表示したかったのです。どうやってするか?
ドロップダウンリストは項目を配列として想定しています。最初と最後の文字を連結し、配列に追加してドロップダウンメソッドに渡します。
$names = [trim($employee->firstName . ' ' . $employee->middleName . ' ' . $employee->lastName)];
echo dropDownList('full-name', null, $names);
また、EmployeeにfullNameメソッドを定義して使用することもできます。
インサイドEmployeeクラス
public function getFullName() {
return trim($this->firstName . ' ' . $this->middleName . ' ' . $this->lastName);
}
使用
$names = [$employee->fullName];
あなたがArrayHelper
を使用することができます。最初にArrayHelper
クラスを以下のようにインポートします。
use yii\helpers\ArrayHelper;
$model
としてあなたの変数名を仮定。 id
をfirst_name
とlast_name
とすると、以下のようになります。ドロップダウン
<?php echo $form->field($model, 'user_id')->dropDownList($data); ?>
ため
$data=ArrayHelper::map($model,'id',function($model){ return $model->first_name.' '.$model->last_name;});
コードにコードを表示します。 –