【发布时间】:2020-12-27 04:31:20
【问题描述】:
我正在尝试根据通过表单收到的回复创建产品组合。
如何将数组项传递给 collect 以便创建组合
$newContent = array();
foreach (array($request['varationsArray']) as $record) {
$newContent[] = $record;
}
print_r($newContent);
//Result
// Array
// (
// [0] => {"1":["Medium"],"2":["White","Blue"],"3":["Small","Large"]}
// )
最近了解到 Laravel 有一个内置方法 - Collection crossJoin() 来完成它。
所以我希望将组合保存到数据库中,以便我可以稍后检索它。
尝试收集结果(新内容)。
$variations = collect($newContent);
$variations_options = $variations->crossJoin($newContent);
print_r($variations_options->all());
Array
(
[0] => Array
(
[0] => {"1":["Medium"],"2":["White","Blue"]}
[1] => {"1":["Medium"],"2":["White","Blue"]}
)
)
我希望将结果保存在数据库中,例如,
product_combination
-------------------
Medium-White
Medium-Blue
Medium
Medium-White-Large
....
但我无法解析上述结果。
请简要介绍如何处理这些类型的数组。
【问题讨论】:
标签: php arrays laravel laravel-5 eloquent