Tp5商品详情页选中框的移动
详情html 页面
产品详情页
Apple iPhone 6s(A1700)64G玫瑰金色 移动通信电信4G手机
推荐选择下方[移动优惠购],手机套餐齐搞定,不用换号,每月还有花费返
价 格
¥
5299.00
降价通知
累计评价612188
促 销
加价购
满999.00另加20.00元,或满1999.00另加30.00元,或满2999.00另加40.00元,即可在购物车换购热销商品
支 持
以旧换新,闲置手机回收 4G套餐超值抢 礼品购
配 送 至
满999.00另加20.00元,或满1999.00另加30.00元,或满2999.00另加40.00元,即可在购物车换购热销商品
{foreach $reg as $v}
{$v.spec_name}
{foreach $v['spec_values'] as $k=>$value}
- {$value.spec_value}
{/foreach}
{/foreach}
控制器 页面展示数据public function create()
{
$id = 1;
// 取出 id=1的商品 和商品规格
$goods = \app\admin\model\Goods::with('specGoods')->find($id);
// return json($goods);
if (!empty($goods['spec_goods'])) {
if ($goods['spec_goods'][0]['price'] > 0) {
$goods['goods_price'] = $goods['spec_goods'][0]['price'];
}
if ($goods['spec_goods'][0]['cost_price'] > 0) {
$goods['cost_price'] = $goods['spec_goods'][0]['cost_price'];
}
if ($goods['spec_goods'][0]['store_count'] > 0) {
$goods['store_count'] = $goods['spec_goods'][0]['store_count'];
} else {
$goods['store_count'] = 0;
}
}
// $goods['id'];
// 取出value_ids这一列 循环处理
$value_ids = array_unique(explode('_', implode('_', array_column($goods['spec_goods'], 'value_ids'))));
$Value = SpecValue::with('Spec')->where('id', 'in', $value_ids)->select();
$spec_values = (new Collection($Value))->toArray();
$reg = [];
foreach ($spec_values as $v) {
$reg[$v['spec_id']] = [
'spec_id' => $v['spec_id'],
'spec_name' => $v['spec_name'],
'spec_values' => []
];
}
foreach ($spec_values as $v) {
$reg[$v['spec_id']]['spec_values'][] = $v;
}
//
$value_ids_msp = [];
foreach ($goods['spec_goods'] as $v) {
$row = [
'id' => $v['id'],
'price' => $v['price']
];
$value_ids_msp[$v['value_ids']] = $row;
}
// [1_3] => Array([id] => 1 [price] => 10.00 )
// [1_4] => Array([id] => 2 [price] => 20.00 )
// [2_3] => Array([id] => 3 [price] => 10.00 )
// [2_4] => Array([id] =>4 [price] => 20.00 )
$value_ids_msp=json_encode($value_ids_msp);
// print_r($value_ids_msp);
// die();
// print_r($reg);die();
// return json($specValue);
return view('create',['goods'=>$goods,'value_ids_map'=>$value_ids_msp,'reg'=>$reg]);
}模型 :商品表关联 商品规格表class Goods extends Model
{
function specGoods(){
return $this->hasMany('specGoods','goods_id','id');
}
}
规格表关联规格值表class SpecValue extends Model
{
function spec(){
return $this->belongsTo('Spec','spec_id','id')->bind('spec_name');
}
}