paginate()
tham số thứ hai của phương thức chấp nhận mảng trong số các cột của bảng để chọn trong truy vấn. Vì vậy, phần này:
paginate(30, array('news.title, category.name'));
phải như thế này:
paginate(30, array('news.title', 'category.name'));
CẬP NHẬT (sau khi bạn thay đổi câu hỏi)
Hãy thử điều này:
->paginate(30, array('news.title', 'categories.name as category_name', 'users.name as user_name'));
CẬP NHẬT 2 (sau khi bạn thay đổi câu hỏi, một lần nữa)
Bạn cũng có thể sử dụng bí danh trên bảng:
$data = News::order_by('news.id', 'desc')
->join('categories', 'news.category_id', '=', 'categories.id')
->join('users as u1', 'news.user_id', '=', 'u1.id') // ['created_by']
->join('users as u2', 'news.modified_by', '=', 'u2.id') // ['modified_by']
->paginate(30, array('news.title', 'categories.name as categories', 'u1.name as creater_username', 'u2.name as modifier_username'));