Laravel 5.1 简单学习
(1)Laravel的nginx配置,不配置或者配置错误,可能会报404或500错误,访问不到页面。
location / { try_files $uri $uri/ /index.php?$query_string; }
(2)路由中的斜杠和反斜杠要写对,不然访问不到控制器。
(3)控制器分组:
默认的控制器,直接在app\Http\Controllers下,
创建分组名字,路由配置使用:
分组名\控制器名@方法名。
(4)多路由文件配置:
默认的路由配置文件只有一个:\app\Http\routes.php。
在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件。
找到加载\app\Http\routes.php的文件,
打开\app\Providers\RouteServiceProvider.php;
找到:
require app_path('Http/routes.php');
然后添加几行配置就可以了。
(5)Request不能实例化
错误提示:
Whoops, looks like something went wrong.
1/1
BindingResolutionException in Container.php line 749:
Target [App\Http\Requests\Request] is not instantiable.
发生情境:
控制器中:
use App\Http\Requests\Request;
public function create(Request $request){}
解决办法:
使用这个路径的请求类
use Illuminate\Http\Request;
(6) 添加公共函数文件
示例:
在app下创建一个Common\functions.php,
然后再入口文件,index.php中加载:
require __DIR__.'/../app/Common/functions.php';
(7)调试模式和日志的配置都在 config/app.php 配置文件中
打开调试模式
'debug' => env('APP_DEBUG', true)
(8)in操作,需要使用whereIn('字段名',数组);
(9)select()指定要查询的字段
(10)get()返回的是二维的对象
(11)value()返回的是一个字段的值,字符串。
(12)lists()返回的是列数据,
lists('id','name')如果有两个参数,第一个参数是值,第二个参数是索引,不支持更多参数。