gpt4 book ai didi

Yii:添加自定义字段

转载 作者:行者123 更新时间:2023-12-04 23:07:14 25 4
gpt4 key购买 nike

有没有一种简单的方法可以将自定义字段添加到模型中?假设我有一个包含 3 个字段的“user”表:id、name 和 surname。我要这个:

$user = User::model()->findByPk(1);
$echo $user->fullName; // echoes name and surname

请注意:我希望通过 sql 添加此自定义字段,例如
$c = new CDbCriteria();
$c->select = 'CONCAT("user".name, "user".surname) as fullName';
$user = User::model()->find($c);

问题是未设置 fullName 属性。

UPD :

这是一个稍微棘手的问题的代码——来自另一个表的自定义字段。这是它的完成方式:
    $model = Application::model();
$model->getMetaData()->columns = array_merge($model->getMetaData()->columns, array('fullName' => 'CONCAT("u".name, "u".surname)'));

$c = new CDbCriteria();
$c->select = 'CONCAT("u".name, "u".surname) as fullName';
$c->join = ' left join "user" "u" on "t".responsible_manager_id = "u".id';

$model->getDbCriteria()->mergeWith($c);

foreach ($model->findAll() as $o) {
echo '<pre>';
print_r($o->fullName);
echo '</pre>';
}

最佳答案

您可以向 User 类添加一个函数:

public function getFullName() { return $this->name.' '.$this->surname; }

这将返回全名,就好像它是数据库中的一个属性一样。这比向 SQL 添加计算列要容易得多。

关于Yii:添加自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com