Yêu cầu thg 9 4, 2020 2:29 CH 180 0 2
  • 180 0 2
0

Thắc mắc Laravel xin hỗ trợ

Chia sẻ
  • 180 0 2

xin chào, mình có vấn đề không biết cách xử lý xin nhờ các bạn chỉ giúp: trong database mình có 1 table gồm 3 cột:

| Mã Hàng | Ngày Mua | Giá Mua |

Nhưng khi hiển thị lên WEb mình muốn có thêm :

  • 1 cột nữa là "Giá Hiện Tại" dữ liệu này mình lấy từ 1 bảng khác
  • 1 cột "lợi nhuận" được tính bằng giá hiện tại - giá mua
  • 1 cột "ngày nắm giữ" được tính bằng ngày hiện tại - ngày mua

mình dùng datatable để hiển thị web, xin hỏi trong laravel trường hợp này xử lý bằng cách nào, xin chỉ giúp từ khóa để google. cảm ơn nhiều!

thg 9 5, 2020 1:31 SA

tôi không giỏi laravel, nhưng cũng làm qua vài dự án,

thấy mấy ông code backend dùng with để join query lấy dữ liệu,

với trong model thì thấy có thêm các function quan hệ với các table khác, cái mà beLongToo, hasMany ấy

bạn thử search laravel relationship xem

cũng không biết giúp được gì không nên cũng k dám post thành câu trả lời

chúc bạn thành công

Avatar son @ngocson0211
thg 9 5, 2020 2:48 SA

@hungpv cảm ơn sự nhiệt tình của bạn, qua mầy mò google mãi cũng giải quyết được vấn đề rồi. 😄

2 CÂU TRẢ LỜI


Đã trả lời thg 9 5, 2020 3:04 SA
+2

Bạn định nghĩa thêm Accessor trong Eloquent model nhé.
https://laravel.com/docs/7.x/eloquent-mutators#defining-an-accessor

Chia sẻ
Avatar son @ngocson0211
thg 9 5, 2020 5:57 SA

cảm ơn bạn, qua mò google tìm ra 2 cách 1 là tính toán bằng DD::raw, cách 2 dùng tính năng render của datatable cũng được, không biết nó có tối ưu không nhưng chạy được.

Avatar morikun @thanhnguyen
thg 9 6, 2020 3:25 SA

@ngocson0211 Có nhiều đường đi có thể tới đích bạn ạ.
Nếu rảnh thì sửa lại theo cách của Laravel nó hỗ trợ, tiện thể học luôn xem Accessor là gì 😄

Đã trả lời thg 9 5, 2020 4:16 SA
+2

Bạn định nghĩa thêm Accessor trong Eloquent model nhé.

https://laravel.com/docs/6.x/eloquent-mutators#accessors-and-mutators

  • Bằng cách:
class Payment extends Model
{
    public function getCurrentPriceAttribute($value)
    {
        return ....;
    }
}

$allPayments = Payment::get();
dd($allPayments[0]->currentPrice;
Chia sẻ
Avatar son @ngocson0211
thg 9 5, 2020 5:57 SA

Thanks

Avatar Võ Quang Sinh @voquangsinh
thg 9 16, 2020 9:59 SA

như mình biết thì như này sẽ đúng hơn $allPayments = Payment::get(); dd($allPayments[0]->current_price);

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í