0
我在我的数据库中有一个表,其中有一个name
字段,我想要翻译的内容。我正在使用lajax/translate-manager,它工作正常。问题出现在我想通过name
对GridView(或其他窗口小部件)中的数据进行排序时。当我查询数据库时,我指定name
作为排序字段,但是它以存储的语言(英语)完成。然后我使用GridView列中的Yii::t()
函数输出字段并将其转换,但显然排序保持不变。Yii2 ActiveRecord按可翻译字段排序
例如,在表格行业中,我有一行,其中name
取值Accounting
,西班牙文中的值为Contabilidad
。如果我用西班牙语显示该表,该行应该显示为低于英文,并且不会发生。
解决方案:我结束了从数据库中获取的所有记录的阵列,与谊::牛逼翻译它们,然后把它变成一个ArrayDataProvider。还有一件事:为了允许过滤,我还用PHP的函数fnmatch检查了数组的相应列。