首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Yii的CActiveRecord中,我们如何返回属性已将数据类型设置为整数

问在Yii的CActiveRecord中,我们如何返回属性已将数据类型设置为整数
EN

Stack Overflow用户
提问于 2011-05-19 14:15:27
回答 1查看 383关注 0票数 0

请看下面的示例:

代码语言:javascript
复制
mysql> SELECT rowid, myset, myset+0
      -> FROM set_test;
  +-------+-----------------------+---------+
  | rowid | myset                 | myset+0 |
  +-------+-----------------------+---------+
  |     1 | Sports                |       2 |
  |     2 | Travel,Sports         |       3 |
  |     3 | Travel,Dancing        |       5 |
  |     4 | Travel,Sports         |       3 |
  |     5 | Travel,Sports,Dancing |       7 |
  |     6 | Travel,Dancing        |       5 |
  |     7 | Sports                |       2 |
  |     8 | Travel,Dancing        |       5 |
  +-------+-----------------------+---------+
  8 rows in set (0.00 sec)

对于Yii,使用CActiveRecord->myset总是返回一个用逗号分隔的字符串。我怎么才能像上面那样作为integer返回呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-26 07:54:54

您可以覆盖活动记录类中的getter方法,也可以创建一个新方法。

代码语言:javascript
复制
private _mysetInt = array('Sports' => 2, [...]);

function getMyset(){
  $return = 0;
  foreach(explode(',',$this->myset) AS $value) {
    $return += $this->_mysetInt[$value];
  };
  return $return;
}

此外,获取这些整数值的方法也应该根据您的需要进行调整,上面的示例只是伪代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6054569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档