我正在使用laravel 5。 我从以下查询中查询日期:
$data = DB::table('itemregistrations')
->select('itemregistrations.dd', 'itemregistrations.mm', 'itemregistrations.yy')
->where('itemregistrations.itemregistrationid', $id)
->get();
我想获取要放入数组中的值,以便可以将数组内嵌到字符串中。我无法以这种格式将其内爆。
dd($data);
产生这个:
Collection {#521 ▼
#items: array:1 [▼
0 => {#515 ▼
+"dd": 15
+"mm": "0"
+"yy": 2007
}
]
}
如何将结果转换为:
0 => {15, 0, 2007}
谢谢
答案 0 :(得分:1)
为什么不使用toArray()方法将集合转换为数组,然后仅对获得的数组执行json_encode。 以后甚至可以在响应中传递它。
答案 1 :(得分:0)
希望对其他人有帮助。
我在这里找到了以该问题的评论为指导的解决方案:
How do I implode a json object to a string in php?
我修改了我的代码:
//query tarikh masuk
$datatarikh = DB::table('itemregistrations')
->select('itemregistrations.dd', 'itemregistrations.mm', 'itemregistrations.yy')
->where('itemregistrations.itemregistrationid', $id)
->get();
//**************** format the value of the date************************
$data = json_decode($datatarikh, true);
$val_arr = array();
foreach($data as $val)
{
foreach($val as $key => $value)
{
$val_arr[] = $value;
}
}
$result = implode("-", $val_arr);
它将关联数组更改为要内爆的索引数组。感谢您的输入。
从数组中
array:1 [▼
0 => array:3 [▼
"pdrm_dd" => 15
"pdrm_mm" => "01"
"pdrm_yy" => 2007
]
]
输出结果:
"15-01-2007"