Laravel resource
Laravel- Em dùng query build return ra một data, e muốn nhét vào resource để format dữ liệu, nhưng lại không được. Mà trường hợp dùng Eloquent lại được là sao hả các bác? Trường hợp bắt buộc phải dùng query build thì resource báo lỗi? Nhờ các bác giúp đỡ e với!
Model controller resource posman
3 CÂU TRẢ LỜI
Sửa đoạn ở Controller->index dòng 24 thành ProvideResource::collection($listBills);
- Cái $this kia đang là 1 Collection thì phải, để nó lấy đc cái provider_name kia thì phải dùng collection để nó foreach lấy phần tử
- bỏ toArray đi vì bạn đnag trỏ kiểu $this->property, nếu muốn dùng toArray thì phải trỏ là $this['property'] => đoạn này ko rõ lắm là Resource nó có format được theo array ko, bạn thử đi xem sao.
Cảm ơn bác, được rồi bác T.T
Laravel resource được dùng để tranform model
hoặc là collection
, nên có thể khi dùng query builder bạn đang return data có kiểu khác 2 loại kia.
Bạn kiểm tra lại đoạn query buidler đó xem sao hoặc có thể conment vào đây nhé.
mình mới up ảnh đấy bác
@hieuhumg b thử bỏ ->toArray()
trong model đi xem sao
@tuaniot đúng là return 2 kiểu thì nó ra 2 data có object khác nhau, giờ làm thế nào hả bác
@hieuhumg trong model Provider
của bạn có trường provider_name
không?
@tuaniot có bác ơi, khả năng dùng query buil return ra object khác, mảng khác nhau nên nó không nhận dc
@hieuhumg nếu mình hiểu không nhầm ý bạn thì mình nghĩ ở model bạn viết cái kia là relation bình thường xong trong controller bạn with nó ra và trong resource thì bạn dùng whenLoaded là được mà nhỉ
mình mới up ảnh đấy bác