Laravel: Update data vào mảng cách tối ưu nhất
Trong laravel mình muốn update dữ liệu vào mảng tối ưu nhất. bởi vì trên API gửi từ APP về liên tục. Mình đã sữ dụng array_push() or $arr[]..để nối dữ liệu thêm sau vào sau mảng thêm trước, Không biết các bác có cách nào nhanh, và tối ưu nhất... xin tham khảo ý kiến với ạ
2 CÂU TRẢ LỜI
@thanhminh1998 Nếu lưu vào dữ liệu gửi lên vào một bảng thì sau bạn nhỉ? Mỗi lần app gửi dữ liệu lên server thì mình lưu thành một row mới trong database. VD:
id | user_id | type | json_value | created_at |
---|---|---|---|---|
1 | 1 | view_post_tracking | { "postID": 1, "title": "First post" } | 2020-02-21 04:00:00 |
2 | 1 | view_post_tracking | { "postID": 2, "title": "Sencond post" } | 2020-02-21 05:00:00 |
3 | 1 | view_post_tracking | { "postID": 3, "title": "Third post" } | 2020-02-21 06:00:00 |
4 | 1 | open_link_tracking | { "postID": 2, "title": "Second post" } | 2020-02-21 07:00:00 |
Lúc nào bạn cần dùng thì query tất cả các row trong database ra.
SELECT logs.*
FROM logs
WHERE user_id = 1 AND type = 'view_post_tracking'
@thanhminh1998 Bạn thử xem xét cách tách cái cột tracking
thành bảng tracking_logs
của mình ở trên xem. Tách cột tracking ra bảng logs riêng thì sẽ không bị vấn đề phải lấy array data cũ ra, push item mới rồi lưu lại nữa.
Em đang viết API Cập nhập tracking, em làm update được rồi. nhưng dữ liệu gửi xuống liên tục, em muốn sữ dụng cách nào đó nó tối ưu hơn. đơn giản là vậy từ trên mobile gửi dữ liệu xuống sau đó API update nó. cứ gửi xuống là em update vào sau cái mảng đó.
@hongquanfit thanh niên toàn xóa câu hỏi sau khi được support nãy nè
@HaiHaChan em không bjk tắt comment ạ.
@thanhminh1998 bạn hỏi xong đừng xóa câu hỏi nhé
Vấn đề không hiểu ở đây là bạn đang sử dụng trong ngữ cảnh nào, bạn đang viết thông báo cho hay làm gì??
Nếu bạn muốn push data vào 1 mảng thì chỉ có sử dụng array_push chứ đâu còn cách nào khác?
nên mình đang không hiểu bạn muốn tối ưu gì nữa??
@hongquanfit nãy em post nhầm chỗ rồi em k bjk tắt comment chỉ thấy delete thôi ạ. cảm ơn sư phụ
@thanhminh1998 sau Reply
và Share
có kí hiệu ...
bạn click vô sẽ hiển thị dropdown cho phép bạn edit/delete comment nhé
@HaiHaChan chỉ edit với xóa thôi ạ.
@thanhminh1998 Mình thấy vừa nãy bạn post nhầm chỗ xong admin có vào báo và bảo là đã chuyển bài bạn đăng về lại chuyên mục question rồi đó.
Nhưng có vẻ bạn không biết nên lại xóa mất câu hỏi mà đã được mọi người support trước đó
Mình chưa hiểu rõ câu hỏi của bạn lắm:
Ý bạn có phải là dưới app sẽ thực hiển đẩy dữ liệu liên tục, rồi server sẽ lấy data và đẩy vào một cái mảng. Bạn lưu cả cái mảng đấy vào trong database?
@huukimit Chính xác là như z ạ. em sữ dụng foreach để lấy dữ liệu hiện tại có trong ĐB, rồi em sữ dụng array_push() nối chuỗi hiện tại và dưới app gửi lên xong em update lại ạ
trong mỗi id có cột tracking với dữ liệu thêm vào là 1 kiểu json: [{type,thoi_gian},{type,thoi_gian},......] mỗi lần app gửi xuống là nó update vào trong cột tracking push về sau