是否可以从 blade 或 laravel 8 中用破折号分隔的列中组织数据?
Is it possible to organize data from a column separated by dash in blade of laravel 8?
我想澄清这个疑惑,在我的table(变体)一栏中我保存了用破折号(-)分隔的值,在产品页面上显示这些值我想知道是否可以通过查找破折号之前的第一个值和破折号之后的值将其放在第二个选项中来组织它们,如下例所示:
Mysql
White-S
White-M
Black-XS
Black-XL
到
Front site
first input radio-> White
sub input radio-> S
sub input radio-> M
first input radio-> Black
sub input radio-> XS
sub input radio-> XL
$data=collect([
(object)['dash_grouped'=>'White-S','other'=>1],
(object)['dash_grouped'=>'White-M','other'=>2],
(object)['dash_grouped'=>'Black-XS','other'=>3],
(object)['dash_grouped'=>'Black-XL','other'=>4],
]);
如果您以类似的方式在集合中拥有数据,您可以使用 explode
通过脚本提取部分
$dataSplit=$data
->each(function($d){
$parts=explode('-',$d->dash_grouped);
$d->color=$parts[0];
$d->size=$parts[1];
});
然后在前端按新属性对数据进行分组。
这也可以在以前的控制器中完成。
@foreach($dataSplit->groupBy('color') as $brandGroupName=>$brand)
<p>{{$brandGroupName}}</p>
<ul>
@foreach($brand as $types)
<li>sub input radio-> {{$types->size}}</li>
@endforeach
</ul>
@endforeach
Example in Frontend
我想澄清这个疑惑,在我的table(变体)一栏中我保存了用破折号(-)分隔的值,在产品页面上显示这些值我想知道是否可以通过查找破折号之前的第一个值和破折号之后的值将其放在第二个选项中来组织它们,如下例所示:
Mysql
White-S
White-M
Black-XS
Black-XL
到
Front site
first input radio-> White
sub input radio-> S
sub input radio-> M
first input radio-> Black
sub input radio-> XS
sub input radio-> XL
$data=collect([
(object)['dash_grouped'=>'White-S','other'=>1],
(object)['dash_grouped'=>'White-M','other'=>2],
(object)['dash_grouped'=>'Black-XS','other'=>3],
(object)['dash_grouped'=>'Black-XL','other'=>4],
]);
如果您以类似的方式在集合中拥有数据,您可以使用 explode
通过脚本提取部分$dataSplit=$data
->each(function($d){
$parts=explode('-',$d->dash_grouped);
$d->color=$parts[0];
$d->size=$parts[1];
});
然后在前端按新属性对数据进行分组。 这也可以在以前的控制器中完成。
@foreach($dataSplit->groupBy('color') as $brandGroupName=>$brand)
<p>{{$brandGroupName}}</p>
<ul>
@foreach($brand as $types)
<li>sub input radio-> {{$types->size}}</li>
@endforeach
</ul>
@endforeach
Example in Frontend