0
我在我的數據庫中有一個表,其中有一個name
字段,我想要翻譯的內容。我正在使用lajax/translate-manager,它工作正常。問題出現在我想通過name
對GridView(或其他窗口小部件)中的數據進行排序時。當我查詢數據庫時,我指定name
作爲排序字段,但是它以存儲的語言(英語)完成。然後我使用GridView列中的Yii::t()
函數輸出字段並將其轉換,但顯然排序保持不變。Yii2 ActiveRecord按可翻譯字段排序
例如,在表格行業中,我有一行,其中name
取值Accounting
,西班牙文中的值爲Contabilidad
。如果我用西班牙語顯示該表,該行應該顯示爲低於英文,並且不會發生。
解決方案:我結束了從數據庫中獲取的所有記錄的陣列,與誼::牛逼翻譯它們,然後把它變成一個ArrayDataProvider。還有一件事:爲了允許過濾,我還用PHP的函數fnmatch檢查了數組的相應列。