相册与照片是一对多的关系,有以下需求:
1、点开一条相册数据看到相册的照片列表
2、为相册添加照片时,表单中要看到相册的基本信息
以下是实现步骤:
第一步:构建带参数路由:
代码语言:javascript复制$router- resource('manage/{albumid}/photo',ManagePhotoController::class);
第二步:处理操作对应的函数:
(1)列表查看
代码语言:javascript复制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)创建照片,并在创建表单上显示所属相册的基本属性
代码语言:javascript复制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)更新照片
代码语言:javascript复制 //重写update,多接收一个参数
public function update($album,$id)
{
return $this- form()- update($id);
}
(4)删除照片
代码语言:javascript复制 //重写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-admin 实现在指定的相册下添加照片就是小编分享给大家的全部内容了,希望能给大家一个参考。