Activerecord 虚拟属性
我在模型中定义了一个虚拟属性Activerecord 虚拟属性,activerecord,yii,yii2,Activerecord,Yii,Yii2,我在模型中定义了一个虚拟属性 public $Pictures; public function rules(){ return [ [['Pictures'], 'safe'], ] } public function getPictures(){ $pics="1.jpg"; return $pics; } 我在控制器中得到了数据: $estates = Estates
public $Pictures;
public function rules(){
return [
[['Pictures'], 'safe'],
]
}
public function getPictures(){
$pics="1.jpg";
return $pics;
}
我在控制器中得到了数据:
$estates = Estates::find()->asArray()->all();
鉴于:
print_r($estates)
但仅此属性无法在视图中显示
谢谢你的时间 尝试在声明或规则中定义它
$Pictures = '1.jpg';
还是按规则
[['Pictures'], 'default', 'value' => '1.jpg'],
甚至在发现后
public function afterFind()
{
$this->Pictures = '1.jpg';
return parent:: afterFind();
}
您必须声明新的虚拟属性是安全的,这可以通过模型验证规则中的显式声明来完成,例如:
public function rules()
{
return [
[['Pictures',], 'safe'],
];
}
public function rules()
{
return [
[['Pictures',], 'string', 'max' => 32],
];
}
或者按照@Ripper指定验证规则的暗示,例如:
public function rules()
{
return [
[['Pictures',], 'safe'],
];
}
public function rules()
{
return [
[['Pictures',], 'string', 'max' => 32],
];
}