关于Laravel 5.8.*(laravel-admin 1.x)的一些问题以及解决办法汇总
- 时区问题(默认时区UTC-协调世界时)
**解决办法:**
把config/app.php中的'timezone' => 'UTC'
修改为'timezone' => 'PRC'
或者'timezone' => 'Asia/Shanghai'
即可 设置中文语言包
- 安装依赖(其它laravel版本请查看文档下载对应版本)
composer require laravel-lang/lang:~4.0
- 复制vendor/laravel-lang/lang/src/zh-CN到resources/lang/zh-CN
- 把config/app.php中的
'locale' => 'en'
修改为'locale' => 'zh-CN'
- 如果你要用
faker
去填充测试数据,请修改'locale' => 'en'
修改为'locale' => 'zh_CN'
(vendor/fzaninotto/faker/src/Faker/Provider/zh_CN)
出现
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter tableusersadd uniqueusers_email_unique(email))
问题
在app\Providers\AppServiceProvider.php添加默认值<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Schema; //add fixed sql class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { Schema::defaultStringLength(191); //add fixed sql } /** * Register any application services. * * @return void */ public function register() { // } }
laravel-admin 表单
$form->image('pic', __('Pic'));
上传图片路径问题。
在config/admin.php
上传配置项中'upload' => [ //配置项 config/filesystem.php 'disk' => 'admin', //上传图片和文件的目录设置 'directory' => [ 'image' => 'images', 'file' => 'files', ], ],
可以看出来配置项在
config/filesystem.php
中
在config/filesystems.php
中追加如下'disks' => [ ... 'admin' => [ 'driver' => 'local', 'root' => storage_path('app/public'),//上传路径(图片上传到/storage/app/public/images;文件上传到/storage/app/public/files) 'url' => env('APP_URL').'/storage',//访问路径(图片访问路径/public/storage/images;文件访问路径/public/storage/file) 'visibility' => 'public', ], ... ],
我们需要执行一下软连接
php artisan storage:link
, 这个命令会帮我们把/storage/app/public/*
映射到/public/storage/*
,
这样我们就可以直接通过根目录下的storage/*
访问文件。在laravel-admin 中使用
$form->editor('content',__('Content'));
报错(laravel-admin Field type [editor] does not exist.
)问题。
首先把app/admin
中的bootstrap.php
里边的Encore\Admin\Form::forget(['map', 'editor']);
注释掉,意思就是使用这个组件。
如果依然报错,则可能需要安装laravel-admin-ext/wang-editor
,github地址安装 // laravel-admin 1.x composer require "laravel-admin-ext/wang-editor:1.*" // laravel-admin 2.x composer require laravel-admin-ext/wang-editor 然后 php artisan vendor:publish --tag=laravel-admin-wangEditor 配置 在config/admin.php文件的extensions,加上属于这个扩展的一些配置 'extensions' => [ 'wang-editor' => [ // 如果要关掉这个扩展,设置为false 'enable' => true, // 编辑器的配置 'config' => [ ] ] ] 编辑器的配置可以到wangEditor文档找到,比如配置上传图片的地址上传图片 'config' => [ // `/upload`接口用来上传文件,上传逻辑要自己实现,可参考下面的`上传图片` 'uploadImgServer' => '/upload' ] 使用 在form表单中使用它: $form->editor('content'); 上传图片 图片上传默认使用base64格式化后与文本内容一起存入数据库,如果要上传图片到本地接口,那么下面是这个接口对应的action代码示例: use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; public function upload(Request $request) { $urls = []; foreach ($request->file() as $file) { $urls[] = Storage::url($file->store('images')); } return [ "errno" => 0, "data" => $urls, ]; }
Comment here is closed