学堂 学堂 学堂公众号手机端

Laravel项目中如何在指定相册添加照片,具体过程是怎样

lewis 6年前 (2019-05-13) 阅读数 12 #技术
关于“Laravel项目中如何在指定相册添加照片,具体过程是怎样”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。

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

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'),
  ]);
 }
 }

到此这篇关于“Laravel项目中如何在指定相册添加照片,具体过程是怎样”的文章就介绍到这了,更多相关内容请搜索博信以前的文章或继续浏览下面的相关文章,希望大家以后多多支持博信!
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门