0
我得到这个还给我:获取对象的属性值了JSON
{
"GROUP_CONCAT(DISTINCT(CONCAT(\"MAX(IF(pa.printer = \"\"\", printer, \"\"\", pa.printer, NULL)) AS \", printer)))":
"MAX(IF(pa.printer = \"JP4-3\", pa.printer, NULL)) AS JP4-3,MAX(IF(pa.printer = \"JP4-1\", pa.printer, NULL)) AS JP4-1,MAX(IF(pa.printer = \"JP4-2\", pa.printer, NULL)) AS JP4-2,MAX(IF(pa.printer = \"B3\", pa.printer, NULL)) AS B3,MAX(IF(pa.printer = \"A2\", pa.printer, NULL)) AS A2"
}
我想要得到的这个值只是字符串。我无法从{}中取出。这应该是如此简单,但无法在任何地方找到答案。
以下仅仅是引用我在做什么
主要目标是MySQL的数据透视表。打2个电话,但我确定。
$listQuery = PrintJob::select(DB::raw('GROUP_CONCAT(DISTINCT(CONCAT("MAX(IF(pa.printer = """, printer, """, pa.printer, NULL)) AS ", printer)))'))->get();
这将返回上面的结果:
$json = $listQuery[0];
然后要在此查询
$data = PrintJob::select(DB::raw('DATE(calendar.datefield) as date'), DB::raw('SUM(print_jobs.quantity) as sum'), DB::raw($listQuery))
->leftJoin('mo_numbers', 'mo_numbers.mo_id', '=', 'print_jobs.mo_id')
->rightJoin('calendar', 'calendar.datefield', '=', 'print_jobs.job_date')
->whereDate('calendar.datefield', '>=', date($from))
->whereDate('calendar.datefield', '<=', date($to))
->groupBy('date')
->toSql();
//->get();
你说的只是字符串是什么意思? – AbraCadaver
之后的值: – BrinkDaDrink
我将字符串值移到了第二行以使其更清晰 – BrinkDaDrink