ডিফল্টঅর্ডারে একটি অ্যারে থাকে যেখানে কীটি একটি কলামের নাম এবং মান হ'ল SORT_DESCবা SORT_ASCএর কারণেই কোডটি কাজ করে না।
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => ['defaultOrder'=>'topic_order asc']
]);
সঠিক পথ
$dataProvider = new ActiveDataProvider([
'query' => $query,
'sort' => [
'defaultOrder' => [
'topic_order' => SORT_ASC,
]
],
]);
দ্রষ্টব্য: যদি কোনও কোয়েরিটি ইতিমধ্যে অর্ডারবিধির ধারাটি নির্দিষ্ট করে দেয় তবে শেষ ব্যবহারকারীরা প্রদত্ত নতুন ক্রম নির্দেশাবলী (বাছাই করুন কনফিগারেশনের মাধ্যমে) বিদ্যমান অর্ডারব্লে দন্ডের সাথে যুক্ত হবে। যে কোনও বিদ্যমান সীমা এবং অফসেট ক্লজগুলি শেষ ব্যবহারকারীদের (পৃষ্ঠাগুলি কনফিগারেশনের মাধ্যমে) পৃষ্ঠাগুলি অনুরোধের মাধ্যমে ওভাররাইট করা হবে।
আপনি ডেটা সরবরাহকারীর Yii2 গাইড থেকে বিস্তারিত শিখতে পারেন
বাছাই করা অবজেক্টটি কোয়েরিতে পাস করে ort
$sort = new Sort([
'attributes' => [
'age',
'name' => [
'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC],
'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC],
'default' => SORT_DESC,
'label' => 'Name',
],
],
]);
$models = Article::find()
->where(['status' => 1])
->orderBy($sort->orders)
->all();