z-song / laravel-admin

Build a full-featured administrative interface in ten minutes
https://laravel-admin.org
MIT License
11.14k stars 2.82k forks source link

多文件或多图片 #3

Closed ilessy closed 8 years ago

ilessy commented 8 years ago

现在的File和Image模块好像只能处理一对一关系. 也就是说我的一篇文章只能附加一个文件或者一张图片. 但多数时候我会想要附加不止一个, 请问有什么思路可以解决这样的问题吗? 谢谢.

z-song commented 8 years ago

@ilessy 这个功能还在规划中,打算在接下来的小版本中实现。 请等待通知。

ilessy commented 8 years ago

真是太感谢了, 刚才我又找到了一个毛子开发的后台系统, 还在DEV中, 不过我把他的DEMO在本地跑了一下之后发现他们已经实现了多图的上传功能. 所以我想推荐你参考一下. 帮助你更好的规划.

Repo:  https://github.com/LaravelRUS/SleepingOwlAdmin
Demo: https://github.com/LaravelRUS/SleepingOwlAdminDemo
z-song commented 8 years ago

事实上laravel-admin就是参考SleepingOwlAdminrapyd-laravel这两个包开发的,慢慢把它们的功能吸收进来,再加入自己的idea。

另外如果有比较优秀的js上传plugin,欢迎推荐。

ilessy commented 8 years ago

恩不过好像你给的SleepingOwlAdmin的地址他们已经不maintain了转到了新的我刚才发的那个. 然后他们提到用的js上传plugin是flow.js 看上去好像很流行的样子

z-song commented 8 years ago

现在用另一种方式实现了一对多的功能

在model里面定义好关系:

// Article.php

public function comments()
{
    return $this->hasMany(Comment::class);
}

然后后在form里面

$form->hasMany('comments', function(Grid $grid) {

     // Set resource path for items.
    $grid->resource('admin/article-comments');

    $grid->id('ID');

    $grid->content()->value(function($content) {
        return mb_strimwidth($content, 0, 40, '...');
    });
});
dishcheng commented 7 years ago

我在控制器的form()里面加入如下代码:

  $form->hasMany('floorprods', function(Grid $grid) {
                // Set resource path for items.

            });

报错如下: ErrorException In FloorController.php line 96 : Argument 1 passed to App\Admin\Controllers\Floor\FloorController::App\Admin\Controllers\Floor{closure}() must be an instance of Encore\Admin\Grid, instance of Encore\Admin\Form\NestedForm given (View: E:\xampp\www\xzshop\resources\views\admin\form.blade.php)