1

这是 YII 框架,我有下表:tbl_banner_location_type

bannerLocationTypeId(PK)    bannerLocationId(FK)    bannerTypeId(FK)
1                           1                       2
2                           2                       5
3                           1                       6

现在我将bannerLocationId 的值作为输入。即 1 我想要来自不同表的所有横幅类型值。我尝试了下面的代码,但出现错误:Property BannerLocationType.$data->bannerType->value" is not defined。

$data = BannerLocationType::model()->findAll('bannerLocationId=:bannerLocationId', 
              array(':bannerLocationId'=>(int) $_POST['bannerLocationId']));

$data = CHtml::listData($data,'bannerTypeId','$data->bannerType->value');   
echo CHtml::tag('option', array('value'=>''),CHtml::encode('- - Select - -'),true);
foreach($data as $value=>$name)
{
    echo CHtml::tag('option',
               array('value'=>$value),CHtml::encode($name),true);
}

我知道我可以通过以下方式获得它的价值,但我想要数组。

$obj= BannerLocationType::model()->findByPk($id); 
$obj->bannerType->value; 

请帮忙。

4

1 回答 1

4

哦……问题已解决……那太基础了……我的 YII 知识很差。

我改变了

  $data = CHtml::listData($data,'bannerTypeId','$data->bannerType->value');

$data = CHtml::listData($data,'bannerTypeId','bannerType.value');  

对不起朋友,如果我的问题不清楚。但我不确定我如何代表这个问题。

于 2012-06-15T12:25:16.530 回答