【问题标题】:Yii select2 specific dataYii select2 具体数据
【发布时间】:2014-09-18 08:29:57
【问题描述】:

我必须在 Yii 框架中制作一个 webapp。

我想使用 select2 并想在我的数据库中使用一列..

这是我的代码

<?php

$users= User::model()->findAll(array(

               'select'=>'name',


			   ));
		

echo CHtml::textField('User','',array('id'=>'user', 'style'=>'width:300px;'));
$this->widget('ext.select2.ESelect2',array(
  'selector'=>'#user',
  'options' => array(
		'tags'=> $names,
	
	
),
));

?>

当我使用 vardump 检查变量 $users 中的内容时,我得到了这个:

数组 ( [0] => 用户对象 ( [_new:CActiveRecord:private] => [_attributes:CActiveRecord:private] => 数组 ( [名称] => "asd" )

        [_related:CActiveRecord:private] => Array
            (
            )

        [_c:CActiveRecord:private] => 
        [_pk:CActiveRecord:private] => 
        [_alias:CActiveRecord:private] => t
        [_errors:CModel:private] => Array
            (
            )

        [_validators:CModel:private] => 
        [_scenario:CModel:private] => update
        [_e:CComponent:private] => 
        [_m:CComponent:private] => 
    )

[1] => User Object
    (
        [_new:CActiveRecord:private] => 
        [_attributes:CActiveRecord:private] => Array
            (
                [name] => "assss"
            )

        [_related:CActiveRecord:private] => Array
            (
            )

        [_c:CActiveRecord:private] => 
        [_pk:CActiveRecord:private] => 
        [_alias:CActiveRecord:private] => t
        [_errors:CModel:private] => Array
            (
            )

        [_validators:CModel:private] => 
        [_scenario:CModel:private] => update
        [_e:CComponent:private] => 
        [_m:CComponent:private] => 
    )

还有更多。

但我唯一想要的是这个:[name] =&gt; "assss" .

我想我也使用了 foreach 循环或类似的东西,因为 select2 想要一个“清晰”的数组。 你们知道怎么做吗?

【问题讨论】:

  • 对不起!我的意思是 print_r 不是 vardump。

标签: php mysql yii jquery-select2


【解决方案1】:

你会得到数组

   $array = CHtml::listData(User::model()->findAll(), 'user_id', 'user_name');

【讨论】:

  • 当我使用该代码时,我得到了数据库中的最后一个字符串,但我想要它们!
  • 替换为 $users 并添加上面的代码并打印你得到的结果?
  • 如果我使用 vardump : array (size=1) '' => string 'tim' (length=3)
  • 使用 print_r($array) 函数
  • 然后我得到:Array ([] => tim)
【解决方案2】:

例如下面的代码

<?php echo $form->dropDownList($model, 'country', CHtml::listData(Country::model()->findAll(), 'id', 'name'), array('id' => 'country_list', 'multiple' => true)) ?>
<?php $this->widget('application.extensions.select2.ESelect2',
array(
    'selector' => "#country_list",
    'options' => array(
        'dropdownCssClass' => 'bigdrop',
        'width' => '60%',
    )
))?>

【讨论】:

    【解决方案3】:

    <?php
    
    $users= User::model()->findAll(array(
    
                   'select'=>'name',
    
    
    			   ));
    		
    
    echo CHtml::textField('User','',array('id'=>'user', 'style'=>'width:300px;'));
    $this->widget('ext.select2.ESelect2',array(
      'selector'=>'#user',
      'options' => array(
    		'tags'=> $names,
    	
    	
    ),
    ));
    
    ?>

    【讨论】:

      猜你喜欢
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多