Arrays codeigniter在datatable列中获取数据数组
我想查看数据表行中的多个数组。我不知道该怎么做。数据表只查询_get_datatables_查询中的内容。我无法查询其他引用的数据Arrays codeigniter在datatable列中获取数据数组,arrays,codeigniter,datatable,Arrays,Codeigniter,Datatable,我想查看数据表行中的多个数组。我不知道该怎么做。数据表只查询_get_datatables_查询中的内容。我无法查询其他引用的数据 在问题中,如果您提到了两个表,请查找下面提到的查询以完成它 SELECT p.ProjectId, p.Year, p.code, p.contract_amount, GROUP_CONCAT(CONCAT_WS('|',CONCAT_WS('|',mr.month,mr.year),CONCAT(mr.completio
在问题中,如果您提到了两个表,请查找下面提到的查询以完成它
SELECT
p.ProjectId,
p.Year,
p.code,
p.contract_amount,
GROUP_CONCAT(CONCAT_WS('|',CONCAT_WS('|',mr.month,mr.year),CONCAT(mr.completion,'% <br/>'))) as monthly_report
FROM project p
INNER JOIN monthly_report mr
GROUP BY p.ProjectId;
此外,我还添加了组_concate函数,所以当您在浏览器中呈现此输出时,它将根据您的要求添加中断
如果不起作用,请告诉我
这里的答案是查询
在活动记录技术中
实际上,codeigniter在处理子查询时不是很好。据我所知,我添加了两个选项来处理子查询。如果两个查询都不能得到您所需要的,那么我建议使用$this->db->query
我还没有测试过
选择1
选择2
如果这来自两个表,那么为什么不尝试使用joinquery从数据库获取数据呢@HanthonyTagami实际上发布了Join语句,但它当时被编辑了。@ankitsuthar:很高兴并感谢您的SQL Fiddle。@HanthonyTagam:如果它不起作用或其他原因,请告诉我requirement@ShyamShingadiya看起来这在查询中工作不正常。还有另一个选项,在concat_ws中的查询添加\n和在html中打印时使用nl2br函数,我希望这将有助于我在视图中工作的时间稍微晚一点。不在SQL中。
$this->db->from($this->table);
$this->db->group_by('project.ProjectID');
$this->db->join('contractor', 'contractor.Contractor_No = project.Contractor_No');
$this->db->join('dpwh_user', 'dpwh_user.DPWH_User_No = project.DPWH_User_No');
$this->db->join('contractor_user', 'contractor_user.Contractor_User_No = project.Contractor_User_No');
$this->db->join('qcp', 'qcp.ProjectID = project.ProjectID');
$this->db->join('designmix', 'designmix.ProjectID = project.ProjectID');
$this->db->join('monthlyreport', 'monthlyreport.ProjectID = project.ProjectID');
SELECT
p.ProjectId,
p.Year,
p.code,
p.contract_amount,
GROUP_CONCAT(CONCAT_WS('|',CONCAT_WS('|',mr.month,mr.year),CONCAT(mr.completion,'% <br/>'))) as monthly_report
FROM project p
INNER JOIN monthly_report mr
GROUP BY p.ProjectId;
$query = $this->db
->select('GROUP_CONCAT(CONCAT_WS('|',CONCAT_WS('|',mr.month,mr.year),CONCAT(mr.completion,'% <br/>'))) as monthly_report, p.ProjectId,p.Year,p.code,p.contract_amount,')
->from('project p')
->join('monthly_report mr', 'mr.ProjectId = p.ProjectId', 'left')
->group_by('p.ProjectId')
->get();
$subquery = "(select GROUP_CONCAT(CONCAT_WS('|',CONCAT_WS('|',mr.month,mr.year),CONCAT(mr.completion,'% <br/>'))) as monthly_report
from monthly_report as mr
where mr.ProjectId = p.ProjectId)";
$query = $this->db
->select('p.ProjectId,p.Year,p.code,p.contract_amount')
->select($subquery)
->from('project p')
->join('monthly_report mr', 'mr.ProjectId = p.ProjectId', 'left')
->group_by('p.ProjectId')
->get();