親行と子行を持つ表をソートしようとしています。並べ替えは常に親行に基づいて実行する必要がありますが、子ローは常に親の直後にある必要があります。表のデータは、正しい順序でxxxは、QQQ、ZZZ、YYYになり、名前でソートされた、だから、親子ソート
[
{name: 'xxx', group: 'A', type: 'parent'},
{name: 'yyy', group: 'B', type: 'parent'},
{name: 'zzz', group: 'A', type: 'child'},
{name: 'qqq', group: 'A', type: 'child'}
]
の形式です。
データはLaravel/Eloquent ajaxクエリから得られ、datatablesテーブルに表示されるため、クライアント側またはサーバー側のいずれかでソートすると問題ありません。
(下記のコメント)常に他の列の前/後に、特定の列に発注適用する
可能重複http://stackoverflow.com/questions/4582649/php-sort-array-by-two-field-値) – Henders
これまでに試したことのコードを加えてください。 – Ruben
ヘンダー:これはarray_multisortシナリオではありません。 array_multisortは複数の次元で順にソートします。 mysqlのorder byまたはdefaultのデータテーブルの動作によっても同じことができます。私は単純な1次元ソートが必要ですが、論理的なソート順にかかわらず、特定の行を一緒にまとめる必要があります(つまり、親に続くグループの子)。グループ別に並べ替えると、正しく動作するようになりますが、グループ単位でソートすることが望ましい結果になる場合に限ります。他の列で並べ替えることが問題です。 – deedoo