, поэтому я пытаюсь заставить select2Row работать для меня навсегда, и я просто не могу понять его. То, что я пытаюсь сделать, - предоставить пользователю теги, в которых указано название школы/университета, и в то же время сохранять значение указанного тега при сохранении формы. Я заметил, что я не могу использовать как данные, так и теги, иначе мой drop down не будет заполнен, так что это не вариант. Метки только, кажется, хотят текст, а не текст и соответствующие значения. Есть идеи?YiiBooster Select2Row Data/Tag Issues
<div class="row">
<?php
echo $form->select2Row($model, 'school_id', array(
'asDropDownList'=>false,
'options'=>array(
'tags'=>School::model()->schoolNames,
//'maximumSelectionSize'=>1,
'width'=>'297px',
'tokenSeparators'=>array(','),
),
));
?>
<?php echo $form->error($model,'school_id'); ?>
</div>
А вот функция для schoolNames
public function getSchoolNames()
{
$schools = array();
$result = $this->findAllBySQL("SELECT DISTINCT name FROM School");
foreach($result as $school){
$schools[] = $school->name;
}
return $schools;
}
Я попытался использовать это вместо этого, но теги не заполнит
public function getSchools()
{
$query = "SELECT id,name FROM School";
$results = $this->findAllBySQL($query);
return CHtml::listData($results, 'id', 'name');
}
Так что на данный момент, select2Row является генерируя список тегов с использованием getSchoolNames(), и все работает нормально, за исключением случаев, когда вы отправляете форму с помощью этих тегов, вы получите это
Please fix the following input errors: School must be an integer.
Извините за все проблемы, я все еще немного новичок в этом. Я уверен, что ответ, вероятно, прямо передо мной. Спасибо в любом случае =)