Yii 框架中 ActiveRecord 中的字符串连接?

发布于 2024-11-08 02:43:56 字数 221 浏览 0 评论 0原文

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

如果是,怎么样?

我目前正在使用这个:

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

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

请帮忙。

Is it possible to CONCAT values of two table columns using the Yii's ActiveRecord methods and patterns?

If is, how?

I'm currently using this:

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

But in this I need to return the concated string/values.

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蓝天 2024-11-15 02:43:56

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

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;

If you are looking for something like that:

select username||'@'||domain from user_mail_table;

to receive concatenated values - so i don't think, that it's possible.
That's not the idea of ActiveRecord.

If you like to concat values like the example above, you should take DAO
http://www.yiiframework.com/doc/guide/1.1/en/database.dao
...or if you need ActiveRecord, you should concat the values inside your application

$mailaddress=$model->username.'@'.$model->domain;
如此安好 2024-11-15 02:43:56

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

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

然后在视图中,您可以只使用“email”属性(而不是 getEmail),然后就可以开始了。

add a method to your model, like this:

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

then in views, you can just use the "email" attribute (not getEmail) and you're good to go.

蓝海 2024-11-15 02:43:56

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

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

yes you can do it by using the sql concat function in your activerecord definition
...find()
->select(['alias'=>'CONCAT(....)'])
->all();

that would produce a column called alias with the values from the columns used in the concat
hope that still helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文