2017-02-10 65 views
-2

我有兩個表1.名稱: - 編號,名稱,標籤(文本類型)。 2.標籤: - 標識,名稱。 在yii2中,我有名稱mdoule的網格視圖。我想爲標籤字段添加搜索和排序過濾器。Yii2排序上的關係(多值列)

例如:

表名稱:1, 「湯姆」, 「1,2,3」

表標籤:1, 「標籤A」 2 「標籤B」, 3, 「標籤C」,

回答

0

在搜索模式搜索方法插入此

$dataProvider->sort->attributes['label'] = [ 
    // The tables are the ones our relation are configured to 
    'asc' => ['label.name' => SORT_ASC], 
    'desc' => ['label.name' => SORT_DESC], 
]; 

這列添加到您的網格視圖

[ 
    'filter' => \yii\helpers\ArrayHelper::map(\common\models\Label::find()->select(['id', 'name'])->asArray()->all(), 'id', 'name'), 
    'attribute' => 'label_id', 
    'value'  => 'label.name', 
    'label'  => Yii::t('backend', 'Label'), 
], 

詩:你可以閱讀更多有關此here

+0

Thnks但在我的問題,我有一個叫做「標籤」(類型=文本」)字段。在此字段中存儲標籤(多於一個)。在標籤標籤中只有id和名稱字段在那裏。 –

+0

我真的不明白你的問題。你想按照標籤的數量對名稱進行分類,或者想要顯示一個包含屬於名稱的所有標籤的列? –