簡體   English   中英

Yii2數組排序

[英]Yii2 Array sorting

在我的Yii2項目中,我有一個數組

$array = [];    
$array [] = 8 , 3, 6

所以當我打印出數組是

[8,3,6]

因此,當我在where語句中使用它時,它會變得混亂。

$class = ModelClass::find()->where(['array_no' => $array])->all

因此,當我打印出類時,我會按升序排序輸出。

  • 第3名
  • 6位第二
  • 第三名。

我如何才能阻止這種情況的發生。 我希望他們以與數組相同的順序返回輸出

您應該使用ORDER BY FIELD() ,例如:

$models = ModelClass::find()
  ->where(['array_no' => $array])
  ->orderBy(new \yii\db\Expression('FIELD (array_no, '.implode(',', $array).')'))
  ->all();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM