调用未知方法时出错:omgdef\multilingual\MultilingualQuery::sort()?

Error Calling unknown method: omgdef\multilingual\MultilingualQuery::sort()?

下午好,帮我弄清楚,使用 OmgDef/yii2-multilingual-behavior 扩展,发誓在这一行:

    public function actionIndex()
    {
        $data = new ActiveDataProvider([
            'query' => FaqLang::find()->multilingual()->sort(), //error here
        ]);
        return $this->render('index', [
            'data' => $data
        ]);
    }

存储 sort() 方法的我的重写模型

<?
namespace admin\base;

/**
 * Base active query class for models
 * @package admin\base
 */
class ActiveQuery extends \yii\db\ActiveQuery
{
    /**
     * Order by order_num
     * @return $this
     */
    public function sort()
    {
        $this->orderBy(['order_num' => SORT_ASC]);
        return $this;
    }
}

您可以尝试使用 ActiveDataProvidersort 属性。

$data = new ActiveDataProvider([
    'query' => FaqLang::find()
        ->multilingual()
        ->select(['id','question','answer']),
    'sort' => [
        'defaultOrder' => ['order_num' => SORT_ASC],
    ],
]);

到 select 列使用 ActiveQuery 对象的 select() 方法。

如果您使用GridView显示结果,您也可以使用它的columns 属性。