Конкатенация строк в ActiveRecord в Yii Framework? - PullRequest
2 голосов
/ 17 мая 2011

Можно ли СОЗДАТЬ значения двух столбцов таблицы, используя методы и шаблоны Yii ActiveRecord?

Если есть, как?

Я сейчас использую это:

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

Но в этом мне нужно вернуть объединенную строку / значения.

Пожалуйста, помогите.

Ответы [ 3 ]

4 голосов
/ 17 мая 2011

Если вы ищете что-то подобное:

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;
2 голосов
/ 17 мая 2011

добавьте метод к вашей модели, например:

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

, а затем в представлениях вы можете просто использовать атрибут "email" (не getEmail), и все готово.

1 голос
/ 26 декабря 2014

да, вы можете сделать это, используя функцию sql concat в определении вашей активной записи
... find ()
-> select (['alias' => 'CONCAT (....) '])
-> все ();

, который будет производить столбец с именем alias со значениями из столбцов, используемых в concat
Надеюсь, что все еще помогает

...