THẢO LUẬN

Yeah! Bạn có thể mở rộng nó để xử lý bài toán của bạn

0

@godstorm91 sốp ra nhiều bài mới cho anh em học hỏi nha 😗

0
thg 4 7, 2021 9:15 SA

Mình thấy final bloc = RemoteBloc(); // khởi tạo bloc <=== new Cái này phải init rồi để chung, khi mà cần tạo nhiều chỗ StreamBuilder để update nhiều nơi. Vậy nếu như extract class widget con nhưng vẫn xài cái chung bloc này, vậy phải pass param bloc vào constructor của nó hay sao? Có vẻ như không được thuận tiện như Provider nhỉ? Provider dựa vào inheritedWidget nên nó find ngược context lên là có instance của provider mà không cần thông qua việc pass param. Thank vì bài viết nhé

0
thg 4 7, 2021 9:11 SA

"Theo một số cách" bạn nhé 😃

0
Avatar
đã bình luận cho bài viết
thg 4 7, 2021 7:14 SA

Theo mình nghĩ ko cần thiết, vì khi bạn explain câu sql thì cho dù bạn có join sau hay trước thì theo thứ tự nó vẫn filter trước rồi mới join. Bạn thử đo tốc độ chạy bằng 2 cách sẽ thấy ko khác biệt

+1
thg 4 7, 2021 7:11 SA

a có thể cho em xin 2 file digits.npy và alphas.npy được không ạ? em cảm ơn

0
thg 4 7, 2021 7:08 SA

Bài viết rất hay và hữu ích ❤️

0
thg 4 7, 2021 6:40 SA

xui cho bác là cái thư viện này ít ai sài nên ít người đọc , cũng không ai vote cho bác , thôi em cho bác +1 an ủi 😄

0
thg 4 7, 2021 4:54 SA

hơi sơ sài và khó hiểu với người mới

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 4 7, 2021 4:49 SA

Chào bạn. Mình không rõ bạn đã giải quyết được vấn này hay chưa? Nhưng mình có 1 cách giải quyết gộp truy vấn của bạn lại và khuyên bạn không nên dùng đoạn for sẽ làm cấp số nhân số lần truy vấn vào database. Bạn tham khảo cách của mình nhé:

$this->userRepository->getModel()->with('terminateContract')
 ->addSelect(
                DB::raw('SUM(CASE
                    WHEN terminateContract.status = 2
                    THEN terminateContract.amount
                    ELSE 0 END) AS sale_direct')
            )
->addSelect(
                DB::raw('SUM(CASE
                    WHEN terminateContract.status = 1
                    THEN terminateContract.amount
                    ELSE 0 END) AS sale_in_direct')
            )
->where('terminateContract.startdate', $startDate)
->where('terminateContract.enddate', $endDate)

Phần ->with('terminateContract') bạn nhớ viết relationship trong model nhé. Trong ảnh mình thấy bạn có 3 hàm getAllRewardUserIdByMoth, getAllPunishdUserIdByMoth, getTotalCommission. Mình không rõ 3 hàm này dùng để xử lý logic hay là trỏ đến 1 model nào khác hay không nên không thể gộp vào truy vấn như bên trên cho bạn.

0
thg 4 7, 2021 4:30 SA

Hi bạn! Mình không biết bạn đã có cách giải quyết vấn đề của bạn chưa nhưng đây là cách mình thưởng sử dụng. Bên dưới là 1 ví dụ của mình dùng trong phân quyền, bạn tham khảo nhé Trong model Screen Shot 2021-04-07 at 11.28.07.png

Trong service Screen Shot 2021-04-07 at 11.28.37.png

Khi trỏ with vào cái relationship trong model là đã lấy join được nhiều bảng mình mong muốn rồi

0

Liệu nếu logic nó nhiều hơn 2 toán tử or và and thì có nên build tree DSL xử lý logic không ạ?

0
thg 4 7, 2021 4:22 SA

cho em hỏi là cái "__dirname" này dùng làm gì ạ? path: path.resolve(__dirname, 'dist')

0

@hoangtrung99 lâu rồi c mới vào viblo 😄

0

@TrangHTT reply sớm quá chị :v

+1
thg 4 7, 2021 2:32 SA

cho em hỏi , nếu như trong controller xử lí như vậy thì ở route mình get hay post sao vậy ạ , em tới khúc này post thì nó báo lỗi , get thi nó báo trống validate nó báo trống

0
thg 4 7, 2021 2:16 SA

@tranxuanthang nếu vậy thì cần đổi đuôi file .js sang .mjs anh à

0
Avatar
đã bình luận cho bài viết
thg 4 7, 2021 2:00 SA

@maicaotri cũng chỉ là sở thích cá nhân thôi, khi vào dự án nào đó thì 1 trong những file cần xem đầu tiên thường là file package.json

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí