在进行数据迁移时候报错: 特殊字段太长报错, php artisan migrate 现在utf8mb4包括存储emojis支持.如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情. 当你试着在一些MariaDB或者一些老版本的的MySQL上运行 migrations 命令时,你可能会碰到下面这个错误: 错误如下: Illuminate\Database\QueryException : SQLSTATE[]: Syntax error or access violation:…
SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'binary' 对数据表更改,然后执行数据迁移命令php artisan migrate,之后报错如下: 解决办法: 参考:https://www.hellojava.com/a/68286.html…
在laravel5.5执行数据迁移时 php artisan migrate 先说下系统环境: ubutun Ubuntu 16.04.3 LTS mysql:5.6.35-log 经查自Laravel 5.4以后默认使用utf8mb4字符编码,而不是之前的utf8编码.因此运行php artisan migrate 会出现了上面的错误. 问题根源 MySql支持的utf8编码最大字符长度为3字节,如果遇到4字节的宽字符就会出现插入异常.三个字节UTF-8最大能编码的Unicode字符是0xff…
[Illuminate\Database\QueryException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas sword: NO) (SQL: select * from information_schema.tables where table_schema = laravel_test1 and table_name = migrations) 通常是缓存造成的 在命令行中进入…
向customers表添加字段phone php artisan make:migration add_phone_to_customers_table 问题: 解决方法: 将DB_HOST配置项修改为:127.0.0.1 执行完数据库迁移后记得将该配置项改回来…
问题根源 MySql支持的utf8编码最大字符长度为3字节,如果遇到4字节的宽字符就会出现插入异常.三个字节UTF-8最大能编码的Unicode字符是0xffff,即Unicode中的基本多文种平面(BMP).因而包括Emoji表情(Emoji是一种特殊的Unicode编码)在内的非基本多文种平面的Unicode字符都无法使用MySql的utf8字符集存储. 这也应该就是Laravel 5.4改用4字节长度的utf8mb4字符编码的原因之一.不过要注意的是,只有MySql 5.5.3版本以后才开…
1.原因:在进行 迁移文件生成时,程序并未给varchar类型字段设置 合适的长度,导致报错. 2.解决办法:找到database/ 目标迁移文件,修改其中类型为string的字段长度,建议不要超过255,否则报错 [然后再次运行php artisan migrate 即可成功] 示例: MySQL: ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes 今天测试遇到了这样的问题: MySQL> u…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA 2.0 SPS00 SDA(Smart Data Access)连接Hadoop   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 这一篇介绍一下SDA,用于大数据Hadoop等平台的 还可以用另一种方式,请参考我的另一篇文章 点击进入:SAP Vora(SAP HANA和Hado…
基于laravel5.4版本的查询构造器的简单几个操作:(相对于TP3.2版本) //获取指定多行多列,二维,,对象 [select] $names = ''; $names = DB::table(,])->select('id','name','age')->get(); var_dump($names); echo "<br>"; //获取指定单行,一维,,对象 [find] $names = ''; $names = DB::table(,])->…
1.查询构造器一般情况下返回对象,但是无法直接使用model类的一些方法,如toJson.toArray等 DB::table 结果转换成 model 类实例[collect 实例] public function find($id=''){ if(!isset($id) || !is_numeric($id)){ echo '数据传入有误,请重试'; } $select_obj2 = []; $select_obj = DB::table('student') ->whereRaw('id>…
public function test() { $res=ClientSource::all(); //dd($res); echo "<br>"; /* 发送短信[测试通过] -- 阿里大鱼alisms -- DaiSheng */ // $content=array(); // $result=$this->sms->send('13697332484',"积慕cake",json_encode($content),"SMS_…
本文之前,首先感谢: Azeroth_Yang  传送门:https://blog.csdn.net/zwrj1130/article/details/73467320 强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况.!!当然,没有命名空间也可以使用,就是类名字(非文件名)最好复杂一些.(重复也不要紧,程序会自己判断)  laravel5.4中如何引入自定义的类库文件呢? 在laravel的app目录下自定义一个文件夹,我用的名字是:Libs 然后直接将自定义类库扔进这个…
1.服务器先安装redis-server,这是毋庸置疑的!!! 2.服务器开启redis-server,配置相关参数 3.laravel执行 : $  yourPhpPath composer.phar require predis/predis:1.0.*  ,这个命令如果服务器多个php运行,且php -v 低于5.6,可以让指定的php来进行composer下载predis插件,(如果你php -v 和phpinfo()的版本一致,且composer.phar 配置成全局/usr/loca…
    路由缓存:/www/wd***/php/bin/php artisan route:cache 查看全部路由并输出到txt文件:/www/wd***/php/bin/php artisan route:list>1.txt  ,进入项目根目录下打开1.txt即可 [cmd一样操作]  …
1.一般我们直接使用git clone 将git的项目克隆下来,在本地git库和云上git库建立关联关系 2.vendor[扩展]文件夹是不会上传的,那么下载下来直接运行项目,会报错: D:phpStudy/WWW/crm/public/../vendor/aotuload.php不存在 3.我们需要cd 到项目的根目录,不是public目录哦, 运行 composer install 安装对应的扩展配置组件 4.再次运行,可能会报: encrypter 类不存在,那是因为key没有生成,再次运…
1.目的,无限极分类 /* * getdepartment:获取[当前登录用户对应公司的所有有效部门] * DB::table ==>返回查询构造器结果,不会返回一个collect实例 * 而 [默认情况下,Eloquent 查询的结果总是返回 Collection 实例] * 进行transform操作 * add by Daisheng 2018/04/03 */ public function getdepartment(Request $request) { $department =…
1.在namespace 和 class 之间使用,是引入类文件的意思,命名空间过长或者类文件同名,可以使用[as]区别 2.在class 类里面使用[use],是导入trait  类的意思,多继承的意思…
laravel 在部署的时候.需要优化路由加载,执行命令 php artisan route:cache 报错了.如下 这个异常的错误信息,提示的已经非常明确了:大概意思就是说在闭包里边,是不能够进行路由缓存的.那么现在就有两种办法: 想要继续使用闭包,那就只能放弃路由缓存(至少目前我没有其他办法,如果你有,记得告诉我). 那就是在路由里边,也就是route.php中,不要使用闭包的方式,统统改为控制器. 具体例子: 创建laravel 项目时候.web.php 路由文件,里边有个默认的 wel…
中间件方法: /** * 自定义中间件: * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) {//传值到控制器 $mid_params = ['mid_params'=>'这是中间件的值']; //方法一: // $request->merge($mid_params); /…
1 引用DB use Illuminate\Support\Facades\DB; 2 up方法 public function up() { Schema::create('code_table', function (Blueprint $table) { $table->integer('id')->unsigned()->primary()->comment('这是字段注释'); }); DB::statement("ALTER TABLE `code_table…
1  app\exceptions 目录下 新建 Apiexception.php <?php namespace App\Exceptions; /*** * API 自定义异常类 */ use Exception; class ApiException extends Exception { //自定义异常处理 '){ $this->errorMsg = $errorMsg; $this->errorCode = $errorCode; return $this; } } 2 修改 …
1   进入laravel根目录.      在config目录下找到database.php文件.      显而易见这个文件是数据库相关的配置文件. 2  修改 .env 配置完database.php后,进行.env的配置. .env是框架的环境变量,是为了让这个选项在不同环境下有不同的值. .env文件在laravel根目录下.…
1.在一次使用composer安装依赖的时候,安装错了包,在其中文网站却找不到移除依赖的命令,只好使用按照官网说法: 为了从命令行获得帮助信息,请运行 composer 或者 composer list 命令, 然后结合 --help 命令来获得更多的帮助信息. 出现一大堆命令参数,一扫,刚好,在require之前,有remove,这就是移除命令,例子如下: composer remove predis/predis 出现如下信息证明 移除依赖成功, D:\phpStudy\WWW\larave…
1.在model中引入baum\node 类库,并继承,具体参考 https://packagist.org/packages/baum/baum 2.核心代码: /* * model::create([]):方法返回被插入的模型实例.但是,在此之前,你需要指定模型的 fillable 或 guarded 属性 * model继承baum\node类库的makeChildOf() 建立插入模型和parent模型对象之间的关系 */ public function departmentstore(…
部署服务器的时候,使用composer来安装依赖.遇到了 解决办法: 在php.ini中,找到disable_functions选项,看看后面是否有proc_open函数被禁用了,如果有的话,去掉即可…
(predis下载地址:https://packagist.org/packages/predis/predis) 1.cmoposer 命令行: php composer require predis/predis:1.0.4 2.若服务器已安装了 phpredis扩展,需要进行更名处理: 3.出现: Class 'Predis\Client' not found 因为 你没有装predis 类库.…
1.在 app/Helpers/ 新建一个文件 functions.php,当然这个文件位置和名称你可以自己定义,创建一些函数用于全局调用: 2.在composer.json中的autoload下增加如下代码加载自动文件 3 执行composer命令让其自动加载: composer dump-auto 加载成功后,我们就可以在任何地方使用上面创建的全局函数库了…
背景: 在做后台功能时候,我们需要把头部和尾部摘出来作为公共模板使用 1:我们使用了Blade模板,并创建一个header.blade.php作为通用的模板.将子页面作为yield输出: header.blade.php  路径  : /resources/view/admin/common/header.blade.php <!DOCTYPE html> <html lang="en"> <head> <meta charset="…
1.post的ajax需要提交csrf_token字段,进行安全过滤 <meta name="csrf-token" content="{{ csrf_token() }}"> /* ajax回填表单字段,然后提交表单 */ $.ajax({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, type: 'POST', url: '/d…
在laravle中使用代码自动补全,比较方便开发,于是这边找到了相关的办法 在laravel配置完好的情况下,同时安装好了composer. 进入代码的根目录执行 composer require barryvdh/laravel-ide-helper 然后在config/app.php的providers中添加 Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class, 然后执行以下命令: php artisan clear-compi…