相册与照片是一对多的关系,有以下需求:
1、点开一条相册数据看到相册的照片列表
2、为相册添加照片时,表单中要看到相册的基本信息
以下是实现步骤:
第一步:构建带参数路由:
1
|
$router ->resource( 'manage/{albumid}/photo' ,Manage\PhotoController:: class );
|
第二步:处理操作对应的函数:
(1)列表查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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)创建照片,并在创建表单上显示所属相册的基本属性
1
2
3
4
5
6
7
8
9
10
11
|
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)更新照片
1
2
3
4
5
|
//重写update,多接收一个参数
public function update( $album , $id )
{
return $this ->form()->update( $id );
}
|
(4)删除照片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
//重写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 实现在指定的相册下添加照片就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/hhhzua/article/details/80617449