给Model 添加额外属性的问题 [ 新手入门 ]
我在model里面额外定义了两个属性
public $province ;
public $city ;
这两个属性是用来接收表单的信息的,传过来的值都是int,数据库里面的字段是location,我在存入处理一下,给location的值是$province加上逗号加上$city的值。 然后我设置了get和set。存入数据的时候没问题。更新的时候,就得不到$province和$city 的值了。我以为是我的get写得有问题。于是我做了一个测试,发现依然不行。 测试是这样的:
我数据库有两个字段,province和city,存入的都是文字,当读取某一条数据的时候,我需要在view里面这样显示
<?php echo $user->province . ' ' . $user->city ?>
。
然后我在这个表的model里面定义了location,我设置get方法是
public function getLocation()
{
if ($this->province && $this->city) {
return $this->province . ' ' . $this->city;
}
return 'Unknown';
}
然后我在view里面使用$user->location
,竟然没有值。
这个是为啥?
是我的思路有问题,方法不正确,还是我的set和get方法写错了?
求大大们帮帮忙啊。
共 8 条回复
-
整个事情是这样的,用了舰长给的省市二级联动,但是数据库里面只有一个字段location,我提议说修改数据库,老板说,这样做很山寨,说人都是只存一个市,就是到是哪个省的,还让我看kissy。我懒得看,就想了这个办法解决。
在
class ProductApplier extends CActiveRecord{}
里面定义两个属性public $province ;public $city ;
,省、市收集表单,在save的时候处理一下,加个逗号存入数据库。save的时候完全没问题。但是更新的时候,就获得不了值了。刚开始怀疑是我自己的get方法有错误。后来发现根本不是这么回事。但是后来把属性改成
public $_province ;public $_city ;
其他的都没变,竟然可以。很奇怪。不解。。。
zcyxm
最后登录:2021-04-11
在线时长:152小时12分
- 粉丝18
- 金钱37226
- 威望60
- 积分39346