Generic placeholder image
闲敲代码、落灯花
What's past is prologue

联系邮箱:email@hezehua.net


联系QQ:1907330840

座右铭

保持热情,持续学习,每日精进

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

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

本文与作者在csdn上的博文【laravel-admin 在指定的相册下添加照片】保持同步


相册与照片是一对多的关系,有以下需求:
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'),
            ]);
        }
    }
猜你喜欢
一个在PDO数据绑定上踩的坑
阅读 181

不经常用PDO,一直不知道数据绑定的时候的一个细节——不可使用同一个变量名为不同的符号进行数据绑定。 因为这样的话会导致在执行execute()时,不同符号都绑定了同一个值——最后一个赋予这个变量名的值。 比如: $letters = array('a','b','c'); foreach(...

PHP设计模式之工厂模式
阅读 182

工厂模式是一种隐藏类的实例化细节,并且对一系列类使用相同的实例化方式,可以很方便的扩展更多的实现同一个接口的类的创建对象的方式。 示例应用场景有: 1)在线支付 支付有多种方式,比如微信支付,支付宝支付,银联支付等,根据用户的选择而采用相应的支付方式; 2)访问量统计 在一个业务较复杂的...

laravel 使用事件系统统计浏览量
阅读 283

最近有一个商城项目中有统计商品点击量和艺术家访问量的需求,但又不想改动太多原来的代码,而点击与访问这两个动作是有明确触发点的,正好可以用laravel中的事件系统来做,在点击和访问对应的函数中产生这俩事件,监视器获取到之后,再将记录保存到数据库中,并更新计数。 1、在 app\Prov...

PHP设置时区
阅读 196

date_default_timezone_set('PRC'); //设置中国时区

Laravel初探——安装
阅读 201

安装Composer 1、curl -sS https://getcomposer.org/installer | php 2、mv composer.phar /usr/local/bin/composer 3、composer install 安装Laravel 1、compos...

编译安装LNMP全程实录
阅读 183

此次是在CentOs 7.4上进行安装配置,先把编译环境配置好: yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++ 准备一些软件的安装包: 安装包 地址 用途 ...

木桶布局 原理与实现
阅读 222

项目中有一些图片布局需要按木桶布局排列,而前端工程师是个新手,不会用JS实现,只能在后端处理,直接返回处理好的图片尺寸,达到木桶布局的效果。 木桶布局就是将图片按行、等高排列,并且保证每一行图片排列正好占满,边距相等,效果如下: 实现木桶布局的图片尺寸处理主要有以下步骤: 1、设置行高、...

laravel 关联关系之多态关联
阅读 216

多态关联 文章、作者与收藏的关联关系:收藏既可以是对文章的收藏,也可以是对作者的收藏 表:artist: 字段:id name 表:article: 字段:id title content 表:favorites: 字段:id favorite_type favorite_id ...