为Laravel Voyager创建数据导入页面

时间:2019-01-29 21:00:38

标签: php laravel laravel-5 voyager

我正在将Voyager用于基本的BREAD管理员,并正在为小型非营利性组织构建小型Web应用程序。每年他们需要从Excel导入300-500个新的半复杂条目到数据库中,因此我想构建一个管理脚本,该脚本将所有数据自动存储在正确的位置。

是否有结构化的方法可以向Voyager添加自定义控制器/视图?

(我还没有找到这样的文档,也许我是盲人。所以我开始手动扩展Voyager的现有功能,但是随着我的深入,我想确保这是未来增长的最佳选择。)

谢谢。

2 个答案:

答案 0 :(得分:0)

是的,您可以将自定义控制器添加到voyager。

首先让我们做一个控制器:php artisan make:controller ExportController

//app/Http/Controllers/ExportController.php
class ExportController extends Controller{
   public function form(){
      return view('export.form');
   }
   public function submit(){
      // do export stuff 
   }
}

添加以下两条路线:

//routes/web.php
Route::group(['prefix' => 'admin','as' => 'voyager.', 'middleware' => 'admin.user'], function()
{
    Route::get('export','ExportController@form')->name('export.form');
    Route::post('export','ExportController@submit')->name('export.submit');
});

然后在resources/views/export/form.blade.php处创建相关视图文件,只需注意您需要@extends('voyager::master')

使用航海家的menu builder

新建一个菜单项

答案 1 :(得分:0)

您必须使用this package。在这里,您可以了解如何使用maatwebsite软件包以及PHPOffice的PHPExcel功能将excel或csv文件导入数据库表,以及以不同格式导出或下载。

here是视频。