Laravel-datatables: orderBy μ—΄ ID μ„€λͺ…

에 λ§Œλ“  2016λ…„ 04μ›” 07일  Β·  16μ½”λ©˜νŠΈ  Β·  좜처: yajra/laravel-datatables

μ•ˆλ…•,
λ‚΄κ°€ μ›ν•˜λŠ” μ •λ ¬ μ—΄ ID desc ?
λ„μ™€μ£Όμ„Έμš”
감사 ν•΄μš” :)

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ•„λž˜μ™€ 같이 μžλ°” μŠ€ν¬λ¦½νŠΈμ—μ„œ order λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€. id의 μ—΄ 인덱슀λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

$('table').DataTable({
    ...
    order: [ [0, 'desc'] ]
})

λͺ¨λ“  16 λŒ“κΈ€

μ•„λž˜μ™€ 같이 μžλ°” μŠ€ν¬λ¦½νŠΈμ—μ„œ order λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€. id의 μ—΄ 인덱슀λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

$('table').DataTable({
    ...
    order: [ [0, 'desc'] ]
})

λ‚˜λŠ” sql eloquentλ₯Ό 톡해 μ›ν•œλ‹€. 도와쀄 수 μ—†λ‹ˆ? :)

μ½”λ“œμ˜ 예λ₯Ό μ•Œλ €μ£Όμ‹€ 수 μžˆμŠ΅λ‹ˆκΉŒ?

Eloquentμ—μ„œ 정렬은 ->orderBy('id','desc') λ˜λŠ” ->latest('id')

κ·ΈλŸ¬λ‚˜ μ™ΈλΆ€ ν…Œμ΄λΈ”μ—μžˆμ„ λ•Œ μ •λ ¬ 열이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” λ‹Ήμ‹ μ˜ μ›…λ³€μ—μ„œ 정렬을 μ‚¬μš©ν•˜λŠ” 것이 데이터 ν…Œμ΄λΈ”μ˜ μ •λ ¬ κΈ°λŠ₯을 λ¬΄μ‹œν•œλ‹€κ³  λ―ΏμŠ΅λ‹ˆλ‹€.
적어도 λ‚΄κ°€ 그것을 μ‚¬μš©ν•  λ•Œ 정렬은 더 이상 μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ λ‹€μ‹œ μ½”λ“œλ₯Ό λ³΄μ—¬μ£Όμ‹­μ‹œμ˜€. μš°λ¦¬λŠ” 당신이 μ„±μ·¨ν•˜κ³ μž ν•˜λŠ” 것에 λŒ€ν•œ 예λ₯Ό λ“€μ–΄ 당신을 더 잘 λ„μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ„μš°λ―Έ κ°μ‚¬ν•©λ‹ˆλ‹€ :)

@ArtbyArjan 은 쿼리의 μˆœμ„œλ₯Ό μˆ˜λ™μœΌλ‘œ μ„€μ •ν•˜λ©΄ 정렬이 더 이상 μž‘λ™ν•˜μ§€ μ•Šκ²Œ order λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€. 그렇지 μ•ŠμœΌλ©΄ ID 헀더λ₯Ό ν΄λ¦­ν•˜μ—¬ μ •λ ¬ κΈ°λŠ₯을 νŠΈλ¦¬κ±°ν•˜μ‹­μ‹œμ˜€.

예, @yajra 와 @ArtbyArjan은 Eloquent μ—μ„œ ->orderByλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ΄λ ‡κ²Œ ν•˜λ©΄ ajax κΈ°λŠ₯ <th> 클래슀 정렬이 λΉ„ν™œμ„±ν™”λ©λ‹ˆλ‹€. PostDataTable.phpμ—μ„œ $policies = Policy::query()->latest() λ₯Ό μˆ˜ν–‰ν•˜μ—¬ ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€. @phainv λŠ” desc둜 μ£Όλ¬Έν•˜κ³  <th> μ •λ ¬ κΈ°λŠ₯도 μ›ν–ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ„œλΉ„μŠ€λ‘œ μ‚¬μš©ν•˜λŠ” 경우 html() λ©”μ„œλ“œμ—μ„œ 맀개 λ³€μˆ˜ λ°°μ—΄ μ‚¬μš©

/**
     * Optional method if you want to use html builder.
     *
     * <strong i="6">@return</strong> \Yajra\Datatables\Html\Builder
     */
    public function html()
    {
        return $this->builder()
            ->columns($this->getColumns())
            ->parameters([
                'order' => [
                    0, // here is the column number
                    'desc'
                ]
           ]);

ν…Œμ΄λΈ”μ— ν‘œμ‹œν•˜μ§€ μ•ŠμœΌλ €λŠ” μ—΄λ‘œ μ–΄λ–»κ²Œ μ •λ ¬ν•©λ‹ˆκΉŒ?
ν…Œμ΄λΈ”μ— IDλ₯Ό ν‘œμ‹œν•˜κ³  싢지 μ•ŠμŠ΅λ‹ˆλ‹€. λ˜ν•œ orderBy updated_at updated_at λ₯Ό μ›ν•˜κ³  ν…Œμ΄λΈ”μ—

μ•ˆλ…•ν•˜μ„Έμš” @digitlimit , λ‹€μŒκ³Ό 같이 쿼리 λ§€κ°œλ³€μˆ˜μ—μ„œ κ°•μ œλ‘œ μ£Όλ¬Έν•  수 μžˆμŠ΅λ‹ˆλ‹€.

public function query()
{
        $myModel = Person::query()->orderBy('updated_at', 'DESC');

        return $this->applyScopes($myModel);
}

κ·ΈλŸ¬λ‚˜ μ—΄ ν•¨μˆ˜μ—μ„œ orderable λ§€κ°œλ³€μˆ˜λ₯Ό false둜 μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ„œλΉ„μŠ€λ‘œ μ‚¬μš©ν•˜λŠ” 경우 html() λ©”μ„œλ“œμ—μ„œ 맀개 λ³€μˆ˜ λ°°μ—΄ μ‚¬μš©

/**
     * Optional method if you want to use html builder.
     *
     * <strong i="7">@return</strong> \Yajra\Datatables\Html\Builder
     */
    public function html()
    {
        return $this->builder()
            ->columns($this->getColumns())
            ->parameters([
                'order' => [
                    0, // here is the column number
                    'desc'
                ]
           ]);

ν˜•λ‹˜ 덕뢄에 μž‘λ™ν•©λ‹ˆλ‹€.

당신이 μ½”λ“œλ₯Ό λ°›κ³  μ‹Άλ‹€λ©΄ plz νšŒμ‹ 

@rafaelqm μ›μ‹œ 열을 μ£Όλ¬Έν•˜λŠ”

@rafaelqm μ›μ‹œ 열을 μ£Όλ¬Έν•˜λŠ”

@RayhanYulanda μ›μ‹œ 쿼리가 μžˆλ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆκΉŒ? λ™μΌν•œ λ°©μ‹μœΌλ‘œ μž‘λ™ν•˜κΈ° λ•Œλ¬Έμ— μ—΄μ˜ 별칭에 μ§€μ •ν•œ 이름을 μž…λ ₯ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

@rafaelqm μ›μ‹œ 열을 μ£Όλ¬Έν•˜λŠ”

@RayhanYulanda μ›μ‹œ 쿼리가 μžˆλ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆκΉŒ? λ™μΌν•œ λ°©μ‹μœΌλ‘œ μž‘λ™ν•˜κΈ° λ•Œλ¬Έμ— μ—΄μ˜ 별칭에 μ§€μ •ν•œ 이름을 μž…λ ₯ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

μ•„λ‹ˆμš”, λ²„νŠΌ ν…μŠ€νŠΈλ₯Ό μƒμ„±ν•˜λŠ” μ›μ‹œ 열을 μ˜λ―Έν•©λ‹ˆλ‹€. μ € μΉΌλŸΌλ„ κ²€μƒ‰ν•΄μ„œ 주문해야지

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰