Cách đánh số thứ tự nhiều lớp trong vòng lặp đệ quy với Laravel

6th Jan 2023
Cách đánh số thứ tự nhiều lớp trong vòng lặp đệ quy với Laravel
Table of contents

Cách đây khoản 2 năm trước mình cũng có câu hỏi này trên group nhưng mà không tìm được câu trả lời cho mình cuối cùng phải về tự mò mà suy tư để có thể làm được ra như này.

Rồi vậy cái đánh số thứ tự nhiều lớp là sao.

Như này một ngày đẹp trời không trăng nhưng có mây, thì sếp mới bảo là viết 1 cái chức năng để làm báo giá trên CRM của công ty thì nhưng mà nó có cái kiểu đánh số như sau:

1. Danh mục chính 1

1.1 Danh mục lv2

1.1.1 Danh mục lv3

1.1.1.1 danh mục lv4

1.2 Danh mục lv2

2. Danh mục chính 2

2.1 ......

Cách đánh số thứ tự nhiều lớp trong vòng lặp đệ quy với Laravel

Đấy kiểu là số thứ tự sẽ được đánh theo lớp theo từng cấp của cái đệ quy như này.

Mình tháo thức tra google đi hỏi các kiểu mà không ra nên cuối cùng phải mò mẫm thì cũng không ra chỉ ra được những cái như là $loop->depth, $loop->parent với $loop->iteration

Thì cuối cùng lúc đó mình cũng viết tạm như cái củ cải phía dưới này.

Cách đánh số thứ tự nhiều lớp trong vòng lặp đệ quy với Laravel

Nhìn là thấy NGU vãi rồi. Nhưng mà thôi kệ cứ làm để chạy deadline đã rồi tính tiếp

Rồi như cái trên ngồi bình tâm suy nghĩ vài đêm thao thức mình đã ra được 1 cái function như sau:

 function iteration_loop($loop)
    {
        $string = $loop->iteration;
        $get_loop = $loop;
        for ($i =  2; $i <= $loop->depth; $i++) {
            $get_loop = $get_loop->parent;
            $string = $get_loop->iteration.'.'.$string;
        }

        return $string;
    }

Thì đó đây là cách mình đã làm để giải quyết vấn đề.

Nếu các bạn có cách giải quyết tốt hơn có để để lại phía dưới comment cho mình nha :D

Bạn thấy bài viết này như thế nào?
0 reactions

Add new comment

Image CAPTCHA
Enter the characters shown in the image.

Related Articles

Mỗi kết nối cơ sở dữ liệu được định nghĩa trong một mảng, với tên kết nối là khóa của mảng

Eager Loading là một kỹ thuật tối ưu hóa truy vấn cơ sở dữ liệu trong Laravel, giúp tăng tốc độ truy vấn và giảm số lượng truy vấn cần thiết để lấy dữ liệu liên quan đến một bản ghi.

Để sử dụng Eager Loading với điều kiện trong Laravel, bạn có thể sử dụng phương thức whereHas hoặc orWhereHas trong Eloquent Builder.

E hiểu đơn giản vầy nha. auth() hay Auth trong laravel là những function global hay class, nó cũng chỉ là 1 thôi

Xin chào các bạn, tuần này mình sẽ viết một bài về cách xử lý Real Time(thời gian thực) với Laravel và Pusher