调用未知方法时出错: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;
}
}
您可以尝试使用 ActiveDataProvider
的 sort
属性。
$data = new ActiveDataProvider([
'query' => FaqLang::find()
->multilingual()
->select(['id','question','answer']),
'sort' => [
'defaultOrder' => ['order_num' => SORT_ASC],
],
]);
到 select 列使用 ActiveQuery
对象的 select()
方法。
如果您使用GridView
显示结果,您也可以使用它的columns
属性。
下午好,帮我弄清楚,使用 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;
}
}
您可以尝试使用 ActiveDataProvider
的 sort
属性。
$data = new ActiveDataProvider([
'query' => FaqLang::find()
->multilingual()
->select(['id','question','answer']),
'sort' => [
'defaultOrder' => ['order_num' => SORT_ASC],
],
]);
到 select 列使用 ActiveQuery
对象的 select()
方法。
如果您使用GridView
显示结果,您也可以使用它的columns
属性。