2

Yii の ActiveRecord メソッドとパターンを使用して、2 つのテーブル列の値を CONCAT することは可能ですか?

もしそうなら、どのように?

私は現在これを使用しています:

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 ではなく) "email" 属性を使用するだけで、準備完了です。

于 2011-05-17T17:32:26.270 に答える
1

はい、activerecord 定義でsql concat
関数を使用して実行できます ...find()
->select(['alias'=>'CONCAT(....)'])
->all();

連結希望で使用される列の値を持つエイリアスと呼ばれる列が生成されますが、
それでも役立ちます

于 2014-12-25T22:31:50.557 に答える