Asked Sep 4th, 2:29 PM 132 0 2
  • 132 0 2
0

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

Share
  • 132 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!

Nagi @hungpv
Sep 5th, 1:31 AM

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

0
| Reply
Share
son @ngocson0211
Sep 5th, 2:48 AM

@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. 😄

0
| Reply
Share

2 ANSWERS


Answered Sep 5th, 3:04 AM
+2

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

Share
son @ngocson0211
Sep 5th, 5:57 AM

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.

0
| Reply
Share
morikun @thanhnguyen
Sep 6th, 3:25 AM

@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ì 😄

0
| Reply
Share
Answered Sep 5th, 4:16 AM
+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;
Share
son @ngocson0211
Sep 5th, 5:57 AM

Thanks

0
| Reply
Share
Võ Quang Sinh @voquangsinh
Sep 16th, 9:59 AM

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

0
| Reply
Share