1:安装

2:配置.env 数据库信息(APP_DEBUG=true),
配置/config/app.php 的timezone=PRC,配置调试 ‘debug’ => env(‘APP_DEBUG’, true),如果没有.env 文件,就去找app.php文件

3:创建模型 php artisan make:model Tag -m ,-m代表的是创建迁移文件

4:在迁移文件里面,创建表字段内容

5:创建没有模型的迁移文件 php artisan make:migration create_post_tag

6:设置默认字符集

/config/database.php 
'charset' => 'utf8',
'collation' => 'utf8_general_ci',

7:php artisan migrate 创建表

8:laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。

否则会报错

[Illuminate\Database\QueryException]SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))
[PDOException]SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

修改文件:/app/Providers/AppServiceProvider.php
use Illuminate\Support\Facades\Schema;
boot 方法添加:
Schema::defaultStringLength(191);

9:添加路由访问网站

10:添加控制器

php artisan make:controller  AdminController
(1):Laravel 5.4默认创建的是 空 控制器,
(2):如果想变成旧版本,生成方法,需要加 ----resource
(3):旧版本(5.1之前)默认是生成方法的,加--plain是空的控制器

11:添加模版,将模版的css,js,图片这些放在public下,文件夹的名字不能跟我们的路由同名

12:模版路径调整,建议使用asset函数进行路径调整(asset针对静态,url比如是跳转的链接)

13:修改错误页面 /resources/views/errors/ 403和503页面

14:控制器先做添加

15:做列表,php artisan make:seeder UserSeeder

其它

1 : 公共方法 /app/common/function.php

要在composer.json 中设置
“autoload”:{
“files”:[
“app/common/function.php”
]
}

通过命令
composer dump-auto 来重新生成autoload_files.php 文件

2 : 获取最后一条sql

\DB::connection()->enableQueryLog(); // 开启查询日志

\DB::table(‘xxx’); // 要查看的sql

$queries = \DB::getQueryLog(); // 获取查询日志

print_r($queries); // 即可查看执行的sql,传入的参数等等

3:auth
路由设置在
xsblog\vendor\laravel\framework\src\Illuminate\Routing\Router.php 下的auth方法里

4:最近在使用 Zizaco\Entrust 这个权限包报错
This cache store does not support tagging.

CACHE_DRIVER=array 缓存改成array即可

5:队列
运行: php artisan queue:listen 或 php artisan queue:work

6:原生sql写法

DB::table( DB::raw('user_redpackets ur, user_points up, user_cards uc') )
            ->select(DB::raw('IFNULL (ur.amount, 0) ur_amount'), DB::raw('IFNULL (up.amount, 0) up_amount'))
            ->where( DB::raw('ur.code'), '=', '3dK3Ly80H7o')
            ->take(1)
            ->toSql();


'email'     => [
        required',
                    'email',
                    Rule::unique('accounts')->where(function ($query){
                        $query->where('mchId', getMchId());
                    }),
                ],

                'mobile'     => [
                    'required',
                    'min:11',
                    Rule::unique('accounts')->where(function ($query){
                        $query->where('mchId', getMchId());
                    }),
                ],