V/v lấy dữ liệu và trộn lại trong MySql
Mọi người cho em hỏi là: Em có nhiều bảng trong DB, giờ e lấy dữ liệu của các bảng đó, e trộn lại, rồi sắp xếp theo created_at
mới nhất thì làm như thế nào ạ?
Em chưa biết phải trộn như thế nào hết ạ.
Mục đích của em là làm chức năng Nhật ký hoạt động
của người dùng ấy ạ..
Em cám ơn mọi người.
1 CÂU TRẢ LỜI
Anh nghĩ em tạo một bảng lưu nhật ký hoạt động riêng, mỗi row tương ướng với một hành động mà người dùng đã thực hiện. Có user_id làm foreign key để tham chiếu với bảng users.
Khi lấy dữ liệu từ nhiều bảng thì em dùng các mệnh đề join của mysql hoặc có thể liệt kê các bảng trong mệnh đề from.
Thường các bảng có quan hệ với nhau chúng ta dùng mệnh đề join. Và trong một các bảng đấy nếu có cột trùng tên thì trong mệnh đề where, order... e phải chỉ rõ tên bảng chứa cột đấy.
VD:
Select title, name, department_name
From employees, departments
Order by employees.created_at Desc
E vừa tìm ra 1 cách join
có hỗ trợ trong Laravel đó là crossJoin
. Rất đơn giản nhưng e chưa nghĩ nó phát sinh những Bugs gì.. chắc phải chờ người dùng...
bạn tìm hiểu phần Join của SQL nhé, https://www.w3schools.com/sql/sql_join.asp