2017-06-15 6 views
1

件名テーブルにレコードのリストがあり、次にyii2バインドメソッドのgroup_concatに追加したいと思います。yii2グループconcatの単一のクエリで複数の値が表示されない?

Table Structure 
=============== 
id, sname 
1 english 
2 maths 


$datas = Subjects::find()->select("Group_concat(sname)")->where('FIND_IN_SET(id,"1,2")')->one();         
return $datas->sname; 

しかし、私は単一の値だけを取得する必要があります。結果は "英語、数学"ですが、私の結果は "英語"のみですか?

答えて

0

エイリアスを使用して、結果に名前を割り当てる必要があります。..例えばg_sname

$datas = Subjects::find()->select("Group_concat(sname) as g_sname") 
     ->where('FIND_IN_SET(id,"1,2")') 
     ->one();         
return $datas->g_sname; 

あなたも(列を使用して試みることができる)

$concatName = Subjects::find()->select("Group_concat(sname) as g_sname") 
     ->where('FIND_IN_SET(id,"1,2")')->column() 
     ->one();         
return $concatName ; 
+0

コーディング上非常に正しいとなっています。しかし、私はg_snameモデルではないいくつかのエラーがある。私はpublic変数で宣言します。 –

+0

計算カラムが必要な場合は、モデルの先頭にpublic varを追加する必要があります。例:public gSname; – scaisEdge

+0

私はいくつかの提案で答えを更新しています..希望は有用です – scaisEdge

関連する問題