huangxuegang

你要悄悄学php,然后惊艳所有人
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

php处理相册问题

Posted on 2020-08-25 13:11  一花多叶无菩提  阅读(139)  评论(0)    收藏  举报
$restautants = Restaurant::where("id",$id)->update($inputs);
        $db_restaurant_albums = [];
        foreach (RestaurantAlbum::where("restaurant_id", $id)->get("img_url")->toArray() as $key => $v) {
            $db_restaurant_albums[] = $v['img_url'];
        }
        $params_restaurant_albums = $request->input()['restaurant_album'];
        //求并集
        $restaurant_merge = array_merge($db_restaurant_albums, $params_restaurant_albums);
        //对数据库内容和并集求差集添加入库并且删除数据库中剩下的图片以及目录中对应的图片
        //添加
        $db_restaurant_diff = array_values(array_diff($restaurant_merge, $db_restaurant_albums));
        $param_restaurant_diff = array_values(array_diff($restaurant_merge, $params_restaurant_albums));
        foreach ($db_restaurant_diff as $key => $v) {
            $albums['restaurant_id'] = $id;
            $albums['img_url'] = $db_restaurant_diff[$key];
            RestaurantAlbum::where('restaurant_id', $id)->create($albums);
        }
        //删除数据库脏数据删除目录脏图片
        foreach ($param_restaurant_diff as $key => $v) {
            RestaurantAlbum::where(["restaurant_id" => $id, "img_url" => $param_restaurant_diff['$key']])->delete();
        }