是否可以使用 Yii 的 ActiveRecord 方法和模式来连接两个表列的值?
如果是,如何?
我目前正在使用这个:
return $this->findByAttributes(array('alias' => $alias));
但在这我需要返回连接的字符串/值。
请帮忙。
是否可以使用 Yii 的 ActiveRecord 方法和模式来连接两个表列的值?
如果是,如何?
我目前正在使用这个:
return $this->findByAttributes(array('alias' => $alias));
但在这我需要返回连接的字符串/值。
请帮忙。
如果您正在寻找类似的东西:
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;
向您的模型添加一个方法,如下所示:
public function getEmail()
{
return $this->username.'@'.$this->domain;
}
然后在视图中,您只需使用“电子邮件”属性(而不是 getEmail)就可以了。
是的,您可以通过在 activerecord 定义中使用 sql concat
函数来做到这一点
...find()
->select(['alias'=>'CONCAT(....)'])
->all();
这将产生一个名为 alias 的列,其中包含 concat 中使用的列中的值
希望仍然有帮助