【发布时间】:2011-08-27 04:19:19
【问题描述】:
是否可以使用 Yii 的 ActiveRecord 方法和模式来 CONCAT 两个表列的值?
如果是,如何?
我目前正在使用这个:
return $this->findByAttributes(array('alias' => $alias));
但在此我需要返回连接的字符串/值。
请帮忙。
【问题讨论】:
标签: php frameworks concatenation yii concat
是否可以使用 Yii 的 ActiveRecord 方法和模式来 CONCAT 两个表列的值?
如果是,如何?
我目前正在使用这个:
return $this->findByAttributes(array('alias' => $alias));
但在此我需要返回连接的字符串/值。
请帮忙。
【问题讨论】:
标签: php frameworks concatenation yii concat
是的,您可以通过在您的 activerecord 定义中使用 sql concat 函数来做到这一点
...查找()
->select(['alias'=>'CONCAT(....)'])
->所有();
这将生成一个名为 alias 的列,其中包含 concat 中使用的列中的值
希望仍然有帮助
【讨论】:
向模型添加方法,如下所示:
public function getEmail()
{
return $this->username.'@'.$this->domain;
}
然后在视图中,您可以只使用“email”属性(不是 getEmail)就可以了。
【讨论】:
如果您正在寻找类似的东西:
select username||'@'||domain from user_mail_table;
接收连接的值 - 所以我不认为这是可能的。 这不是 ActiveRecord 的想法。
如果你喜欢像上面的例子那样连接值,你应该使用 DAO http://www.yiiframework.com/doc/guide/1.1/en/database.dao ...或者如果你需要 ActiveRecord,你应该在你的应用程序中连接值
$mailaddress=$model->username.'@'.$model->domain;
【讨论】: