On this page
修改商品类型
控制器 app/controller/admin/GoodsType.php
php
public function update(Request $request, $id)
{
$param = $request->param();
$res = $request->Model->save($param);
return showSuccess($res);
}
模型 app/model/GoodsType.php
php
// 修改前
public static function onBeforeUpdate($goodsType){
// 更新属性
$value_list = request()->param('value_list');
if ($value_list) {
// 清除之前属性
$goodsType->goodsTypeValues->delete();
// 写入新属性
$new_value_list = array_map(function($item) use($goodsType){
unset($item['id']);
$item['goods_type_id'] = $goodsType->id;
return $item;
},$value_list);
(new GoodsTypeValue())->saveAll($new_value_list);
}
// 更新skus
$skusId = request()->param('skus_id');
if ($skusId) {
// 删除已有skusid
SkusGoodsType::where('goods_type_id',$goodsType->id)->delete();
$new_skus = array_map(function ($id) use($goodsType){
return [
'skus_id'=>$id,
'goods_type_id'=>$goodsType->id
];
},$skusId);
(new SkusGoodsType)->saveAll($new_skus);
}
}
验证器 app/validate/admin/GoodsType.php
php
// 验证规则
protected $rule = [
'id'=>'require|integer|>:0|isExist:GoodsType',
'status'=>'require|in:0,1',
'name'=>'require',
'order'=>'integer|>=:0',
'skus_id'=>'array',
'value_list'=>'array',
];
protected $scene = [
...
'update'=>['id','name','status','order','skus_id','value_list'],
];
路由 router/admin.php
php
Route::post('goods_type/:id','admin.GoodsType/update');