2

是否可以使用 Yii 的 ActiveRecord 方法和模式来连接两个表列的值?

如果是,如何?

我目前正在使用这个:

return $this->findByAttributes(array('alias' => $alias));

但在这我需要返回连接的字符串/值。

请帮忙。

4

3 回答 3

4

如果您正在寻找类似的东西:

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;
于 2011-05-17T13:39:09.587 回答
2

向您的模型添加一个方法,如下所示:

public function getEmail()
{
  return $this->username.'@'.$this->domain;
}

然后在视图中,您只需使用“电子邮件”属性(而不是 getEmail)就可以了。

于 2011-05-17T17:32:26.270 回答
1

是的,您可以通过在 activerecord 定义中使用 sql concat
函数来做到这一点 ...find()
->select(['alias'=>'CONCAT(....)'])
->all();

这将产生一个名为 alias 的列,其中包含 concat 中使用的列中的值
希望仍然有帮助

于 2014-12-25T22:31:50.557 回答