2017-06-15 53 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不在模型中,我有一些錯誤。所以我在公開變量中聲明。 –

+0

如果你需要一個計算列,你應該在模型的開頭添加一個公共變量,例如:public gSname; – scaisEdge

+0

我有一些建議更新答案..希望是有用的 – scaisEdge