相册与照片是一对多的关系,有以下需求:
1、点开一条相册数据看到相册的照片列表
2、为相册添加照片时,表单中要看到相册的基本信息
以下是实现步骤:
第一步:构建带参数路由:
$router->resource('manage/{albumid}/photo',Manage\PhotoController::class);
第二步:处理操作对应的函数:
(1)列表查看
public function index($albumid) { return Admin::content(function (Content $content)use($albumid) { $content->header('header'); $content->description('description'); $content->body($this->grid($albumid)); }); } protected function grid($albumid) { return Admin::grid(Photos::class, function (Grid $grid)use($albumid) { $grid->model()->where('album_id',$albumid); ...... } }
(2)创建照片,并在创建表单上显示所属相册的基本属性
protected function form() { return Admin::form(Photos::class, function (Form $form){ $paramters = request()->route()->parameters(); $artworkid = isset($paramters['albumid'])?$paramters['albumid']:request()->input('albumid'); $album= ArtImage::find($albumid); ...... } }
(3)更新照片
//重写update,多接收一个参数 public function update($album,$id) { return $this->form()->update($id); }
(4)删除照片
//重写destroy,多接收一个参数 public function destroy($albumid,$id) { if ($this->form()->destroy($id)) { return response()->json([ 'status' => true, 'message' => trans('delete_succeeded'), ]); } else { return response()->json([ 'status' => false, 'message' => trans('delete_failed'), ]); } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理