Teno esta função que lista os emails da base de dados:
public function ListaEmail()
{
$chefe='SIM';
$listEmail=Yii::app()->db->createCommand("Select colaborador.id,colaborador.email From colaborador inner join dados_colaborador ON colaborador.id=dados_colaborador.id_colaborador where dados_colaborador.chefe_sim_nao='$chefe'")->queryAll();
$list_array['all']="All";
foreach ($listEmail as $data)
{
$list_array[$data['id']]=$data['email'];
}
return $list_array;
}
Como é que insero este array numa listBox que permita mais que uma selecção? O atribuito não existe no model pretendido, mas preciso de enviar um email.
O código que estou a usar é o seguinte:
public function ListaEmail()
{
$criteria=new CDbCriteria;
$criteria->with=array('dadosColaboradors');
//$criteria->together=true;
$criteria->select=array('id','email');
$criteria->params = array( ':chefe_sim_nao' => 'SIM' );
$criteria->condition ="DadosColaborador.id_colaborador=:Colaborador.id";
$email= Colaborador::model()->find($criteria);
$data=array();
foreach ($email as $value) {
$data[]=$value;
}
return $data;
}
Como é que eu posso inserir esta lista numa listBox sem o atributo estar definido no model?
Tentei desta forma mas dá erro porque o atribuito email não existe no model mas preciso dos email para enviar uma mensagem.
<?php echo $form->listbox($model,‘Email’,$modelC->ListaEmail()); ?>
O que estou a fazer errado?