Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Yii framework how can I Combine columns and show as display string in dropdownlist

I have a dropDownList in my view, it is populating from clients table, the table contains columns like first_name, last_name,id etc., Now I want to show the first_name and last_name as display text and id as value in drop down list, I'm done with id as value and first_name as display text, but here I want to combine those columns (first_name and last_name) and use as display text.

in model

function getClients()
{
    $Clients = Client::model()->findAll();
    $list    = CHtml::listData($Clients , 'client_id', 'first_name');
    return $list;
}

in view

echo $form->dropDownList($model,'client_id',$model->getClients());
like image 434
arun Avatar asked Oct 10 '12 04:10

arun


1 Answers

Heres another method In model

function getFullName()
{
    return $this->first_name.' '.$this->last_name;
}

and

function getClients()
{
    $Clients = Client::model()->findAll();
    $list    = CHtml::listData($Clients , 'client_id', 'fullName');
    return $list;
}

I think this is kinda reusable method since you can use the fullName virtual attribute not only in dropdownlist but everywhere a full name is needed.

like image 166
dInGd0nG Avatar answered Oct 16 '22 15:10

dInGd0nG