laravel-admin使用$form->table时上传图片问题
直接上代码,应该能看懂,区别就在一个else
public function setPowerAttribute($value)
{
$temp = array();
if(isset($this->attributes['power'])){
$old_value = json_decode($this->attributes['power'],true);
foreach($value as $k=>$val){
if(isset($old_value[$k]) && !isset($val['image'])){
$value[$k]['image'] = $old_value[$k]['image'] ?? '';
}else{
$value[$k]['image'] = 'http://' . config('filesystems.disks.oss.bucket') . '.' . config('filesystems.disks.oss.endpoint') . '/' .$val['image'];
}
}
$temp = $value;
}else{
if(!empty($value)){
foreach ($value as $key => $item){
$preg = "/^http(s)?:\\/\\/.+/";
if(!preg_match($preg, $item['image'])){
$temp[$key]['image'] = 'http://' . config('filesystems.disks.oss.bucket') . '.' . config('filesystems.disks.oss.endpoint') . '/' . $item['image'];
}
$temp[$key]['detail'] = $item['detail'];
}
}
}
$this->attributes['power'] = json_encode(array_values($temp));
}