laravel 笔记梳理

  用了好久,系统性的整理一下笔记。方便查阅使用。

1.Mvc+route

 

 

 

2.

Route::get('article', function () {

return view('welcome');});

 

Route 是一个类;
访问类的静态方法是用 ::的形式;
那么get 就是Route类的一个静态方法;
get 静态方法可以传2个参数;
第一个参数现在是 / ;
我们知道 function 是用来定义函数的;
第二个参数就是一个闭包函数;
在这个闭包函数中 return 返回的东西就是我们请求到的内容;
3行代码告诉我们3件事;

第一;
Route::后面可以跟一个请求方法;
当前代码中就是 get 请求;
get 和 post 在请求中是最基本最常用的方法;
很容易就 Lenovo 到;
如果写成 post 的话;
那就表示是接受一个 post 的请求;

第二:
/表示的是首页;
url 中就是域名后面的那个斜杠;
http://bjyblog.test/

  1. url 就应该是 http://bjyblog.test/article ;

 

  1. 自动生成控制器  

php artisan make:controller ArticleController --resource

 

  1. 路由组

Route::prefix('article')->group(function () {

    Route::get('index', 'ArticleController@index');

    Route::get('create', 'ArticleController@create');

    Route::post('store', 'ArticleController@store');});

 

  1. 路由组嵌套

Route::prefix('admin')->namespace('Admin')->group(function () {

    Route::prefix('article')->group(function () {

        Route::get('index', 'ArticleController@index');

        Route::get('create', 'ArticleController@create');

        Route::post('store', 'ArticleController@store');

});

});

  1. 路由约束   公用约束(app/Providers/RouteServiceProvider.php

Route::prefix('article')->group(function () {

    // ...

    Route::get('edit/{id}/{name}', 'ArticleController@edit');});

  1. 设置中国时区

打开 config/app.php 文件;
timezone 改为 PRC;
laravel 默认的时区是 UTC ;
中国的时区是 PRC ;
如果没有改的话;
那数据库存自动生成的时间会和我们的实际相差8个小时;

8:数据库操作

1.回退迁移

php artisan migrate:rollback

 

2.创建迁移

php artisan make:migration create_articles_table

 

  1. 开始迁移

php artisan migrate

  1. sql  使用

第二个和第三个分别是关联的字段;
谁在前谁在后无所谓哈;
->join('users as u', 'u.id', 'articles.user_id') ;
如果使用了 join 那 where 就同样要指明表了;
->whereIn('u.id', [1, 2, 3]) ;
联系到 sql 还会有 left join 和 right join ;
使用驼峰命名法即可;
->leftJoin('users as u', 'u.id', 'articles.user_id') ;
分组和排序的则需要在关键字后面加个 by;
->groupBy('u.id');
orderBy 还可以指定第二个参数用于指定正序还是倒序;
orderBy('created_at', 'desc') ;
如果只想取指定字段的可以使用 select ;
->select('u.id', 'u.name', 'u.email');
相应的最后的 ->get() 还可以替换为 firstcountsumpluckvalue;

 

完整demo

$data = DB::table('articles')

    ->select('category_id', 'title', 'content')

    ->where('title', '<>', '文章1')

    ->whereIn('id', [1, 2, 3])

    ->groupBy('category_id')

    ->orderBy('id', 'desc')

    ->limit(1)

    ->get();

dump($data);

 

posted @ 2020-11-12 14:53  夫子张  阅读(107)  评论(0编辑  收藏  举报