Thắc mắc Laravel xin hỗ trợ
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!
2 CÂU TRẢ LỜI
Bạn định nghĩa thêm Accessor trong Eloquent model nhé.
https://laravel.com/docs/7.x/eloquent-mutators#defining-an-accessor
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.
@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ì
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;
Thanks
như mình biết thì như này sẽ đúng hơn $allPayments = Payment::get(); dd($allPayments[0]->current_price);
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
@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.