如何在yii中执行搜索?

时间:2014-11-12 10:13:11

标签: search yii

我有一个管理报价页面。我需要在下拉列表中根据报价名称和项目客户进行搜索。关于报价名称,我得到了正确的搜索。但是下拉用户搜索无法正常工作。下拉列表正在使用其他模型。我遵循的代码如下: -

manageprojects.php

<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form">
<?php $this->renderPartial('_search',array(
    'model'=>$bots,
    'modell'=>$model,
)); ?>
</div>

_search.php

<?php
/* @var $this QuotationsController */
/* @var $model Aquotations */
/* @var $form CActiveForm */
?>

<?php $form=$this->beginWidget('CActiveForm', array(
    'action'=>Yii::app()->createUrl($this->route),
    'method'=>'get',
)); ?>

<style>
.row1{width:auto; overflow:hidden;}
.row20{width:20%;display:inline-block;}
</style>

<div class="row1">
    <div class="row20">
        <?php echo $form->label($model,'Quotation Serial No'); ?>
        <?php echo $form->textField($model,'serial_no'); ?>
    </div>

    <div class="row20">
        <?php echo $form->label($model,'Project'); ?>
        <?php echo $form->textField($model,'project_id',array('size'=>60,'maxlength'=>255,'id' =>'projectsid','onkeyup' => "searchcprojects()")); ?>
          <div id="searchresult" style="background:#90EE90;"></div>
    </div>  

    <div class="row20">
        <?php echo $form->label($model,'Select User'); ?>
          <?php  echo CHtml::dropDownList('user_id', $model->id, CHtml::listData($model::model()->findAll(array('order' => 'name')), 'id', 'name'), array('empty' => 'Select User', 'class' => 'span12')); ?>
    </div>       

    <div class="row20"> 


        <?php echo CHtml::submitButton('Search', array("class" => "btn btn-danger")); ?>
    </div>
</div><!--row1-->

<?php $this->endWidget(); ?>

项目控制器

$model = new Acustomers();
$bot=new Aquotations('search');
$bot->unsetAttributes();  // clear any default values

if(isset($_GET['Aquotations'])){
    $bot->attributes=$_GET['Aquotations'];
}

$this->render('managequotations',array(
    'bots' => $bot,
    'model' => $model,

1 个答案:

答案 0 :(得分:0)

您需要使用activeDropDownList而不是dropDownList

<?php echo CHtml::activeDropDownList($model, 'user_id', 
       CHtml::listData(User::model()->findAll(array('order' => 'name')),'id','name'),
       array('empty' => 'Select User', 'class' => 'span12')); 
?>