您的位置:首页 > Web前端 > HTML

使用CHtml::encode直接使用模型的数据进行显示

2014-03-07 15:21 555 查看
现有一数据表:

spec_info对应的字段有spec_info_id,spec_id,spec_info_name,

现在已经知道spec_info_id可以从数组中读取出来,但是,其显示是数值。现在,想通过spec_info_id直接从YII中对应的模型中取出spec_info_name进行显示的代码片段如下:

<ul class="list">
<?php if(!empty($list)) { ?>
<?php foreach($list as $k=>$v) { ?>
<li>
<div class="top"><i class="select selected" value="<?php echo $k;?>"></i></div>
<div class="mid">
<div class="lt"><img src="<?php echo CHtml::encode(TblGoods::model()->findByPk($k)->goods_small_pic); ?>" alt="" /></div>
<div class="rt">
<h5>商品名称:<?php echo $v['name']; ?></h5>
<span>单价:<em><?php echo $v['shop_price']; ?></em></span>

<span>颜色:<em><?php echo CHtml::encode(SpecInfo::model()->findByAttributes(array('spec_info_id'=>$v['color']))->spec_info_name); ?></em></span>
<span>尺寸:<em><?php echo CHtml::encode(SpecInfo::model()->findByAttributes(array('spec_info_id'=>$v['size']))->spec_info_name); ?></em></span>

</div>
</div>
<div class="btm">
<span>共计:<em><?php echo $v['shop_price']*$v['num']; ?></em></span>
<span>
<label>数量:</label>
<input id="<?php echo $k; ?>" class="changenums" type="text" name="num" value="<?php echo $v['num']; ?>" class="num" />
</span>
<span id="<?php echo $k; ?>" class="dele"><a href="javascript:void(0);"><img src="<?php echo IMG_URL; ?>dele.png" alt="删除" /></a></span>
</div>
</li>
<?php }} else { ?>
<li>您的购物车已清空</li>
<?php } ?>
</ul>



这里,使用了CHtml::encode()方法

参数说明:

<?php echo CHtml::encode(SpecInfo::model()->findByAttributes(array('spec_info_id'=>$v['color']))->spec_info_name); ?>

SpecInfo::model()->findByAttributes(array('spec_info_id'=>$v['color']))->spec_info_name表示,从数据模型中取得指定属性的数据对象,然后取出要显示的值,放进CHtml::eccode()中就可以直接显示了。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐