Asked thg 9 4, 2020 2:29 CH 168 0 2
  • 168 0 2
0

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

Share
  • 168 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

0
| Reply
Share
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. 😄

0
| Reply
Share

2 ANSWERS


Answered 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

Share
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.

0
| Reply
Share
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ì 😄

0
| Reply
Share
Answered 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;
Share
Avatar son @ngocson0211
thg 9 5, 2020 5:57 SA

Thanks

0
| Reply
Share
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);

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.