当前位置:首页 > CMS教程 > 其它CMS > 列表

laravel-admin 实现在指定的相册下添加照片

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-14 10:20:17 浏览: 评论:0 

今天小编就为大家分享一篇laravel-admin 实现在指定的相册下添加照片,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

相册与照片是一对多的关系,有以下需求:

1、点开一条相册数据看到相册的照片列表

2、为相册添加照片时,表单中要看到相册的基本信息

以下是实现步骤:

第一步:构建带参数路由:

$router->resource('manage/{albumid}/photo',Manage\PhotoController::class);

第二步:处理操作对应的函数:

(1)列表查看

  1. public function index($albumid
  2.  { 
  3.  return Admin::content(function (Content $content)use($albumid) { 
  4.  
  5.   $content->header('header'); 
  6.   $content->description('description'); 
  7.  
  8.   $content->body($this->grid($albumid)); 
  9.  }); 
  10.  } 
  11.  
  12.  protected function grid($albumid
  13.  { 
  14.  return Admin::grid(Photos::classfunction (Grid $grid)use($albumid) { 
  15.  
  16.   $grid->model()->where('album_id',$albumid); 
  17.   ...... 
  18.   } 
  19.  } 

(2)创建照片,并在创建表单上显示所属相册的基本属性

  1. protected function form() 
  2.  { 
  3.  return Admin::form(Photos::classfunction (Form $form){ 
  4.   $paramters = request()->route()->parameters(); 
  5.  
  6.   $artworkid = isset($paramters['albumid'])?$paramters['albumid']:request()->input('albumid'); 
  7.  
  8.   $album= ArtImage::find($albumid); 
  9.   ...... 
  10.  } 
  11.  } 

(3)更新照片

  1. //重写update,多接收一个参数 
  2. public function update($album,$id
  3. return $this->form()->update($id); 

(4)删除照片

  1. //重写destroy,多接收一个参数 
  2. public function destroy($albumid,$id
  3. if ($this->form()->destroy($id)) { 
  4.  return response()->json([ 
  5.  'status' => true, 
  6.  'message' => trans('delete_succeeded'), 
  7.  ]); 
  8. else { 
  9.  return response()->json([ 
  10.  'status' => false, 
  11.  'message' => trans('delete_failed'), 
  12.  ]); 
  13. }

Tags: laravel-admin

分享到: