美文网首页
Laravel实用知识记录

Laravel实用知识记录

作者: 翔子161919 | 来源:发表于2020-07-07 09:22 被阅读0次

一、定义全局公用方法

习惯了tp的肯定希望在laravel中也可以定义全局的公共方法。

以我的个人习惯为例,在app下新建Common文件夹,并在Common文件夹中新建function.php文件。

然后在composer.json文件中找到aucoload配置项,在其中添加添加

"files": [

"app/Common/function.php"

]

然后在命令行使用composer dump-autoload更新自动加载文件,执行成功后即可在全局使用在function.php文件中定义的方法。

二、接受json数据

1、在上面定义的function.php文件中封装接收方法

function json_params()

{

    $data = json_decode(file_get_contents('php://input'), true);

    return $data;

}

2、利用laravel中的Request类;

use Illuminate\Http\Request;

public function index(Request $request)

{

        //第一种方法

        $params = $request->json()->all();    //这里返回的结果是一个数组

        return $params['id'];

        //第二种方法,使用Request的input方法获取请求中的整个JSON或者具体key的值

        //发送 JSON 请求到Laravel应用的时候,只要 Content-Type 请求头被设置为application/json,都可以通过input方法获取 JSON 数据

        //还可以通过“.”号解析数组

        $foo=$request->input('foo');    //echo$foo=>'bar'

        //使用点号获取内嵌数组key的值

        //假设请求体中的JSON为  {"user": {"name":"kevin","age": 18}}

        $name=$reqeust->input('user.name');//echo$name=>'kevin'

    }

三、事务

$data['addtime'] = time();

DB::beginTransaction();

try {

    $this::create($data);   

    DB::table('test1')->where('id', $data['obj_id'])->increment('comment_num');

    DB::table('test2')->where('id', $data['obj_id'])->increment('comment_num');

    DB::commit();

} catch (QueryException $exception) {

    DB::rollback();

}

四、ORM

1、where多条件查询加手动分页

$data = $this::where('comment_id', $comment_id)

    ->where('is_delete', 0)

    ->where('reply_state', 0)

    ->orderBy('addtime')

    ->offset($page * $page_size)

    ->limit($page_size)

    ->get();

2、模型类中ORM插入数据

$data['value'] = 1;

$data['addtime'] = $time;

$res = $this::create($data);

3、模型类中ORM更新数据

$save_data['is_read'] = 0;

$save_data['modify_time'] = $time;

$res = $this::where('id', 1)->update($save_data);

4、查单条数据

$obj_data = DB::table('test')->find($id);

或者

$obj_data = DB::table('test')->where('id', $id)->first();

相关文章

  • Laravel实用知识记录

    一、定义全局公用方法 习惯了tp的肯定希望在laravel中也可以定义全局的公共方法。 以我的个人习惯为例,在ap...

  • Laravel-artisan命令

    Artisan 是 Laravel 自带的命令行接口,它提供了许多实用的命令来帮助你构建 Laravel 应用。

  • laravel ---Artisan 命令行

    Artisan 是 Laravel 的命令行接口的名称,它提供了许多实用的命令来帮助你开发 Laravel 应用,...

  • Laravel 简单查询

    记录使用laravel查询sql的记录 查询某字段中包含以逗号分隔的字符串的数据 原生sql laravel

  • Laravel 开发笔记

    Laravel 笔记 前言 记录 Laravel 开发中的问题,及笔记。 用法 Validator 类的用法 用法...

  • 【Laravel 5.5】快速入门 —— 安装配置篇

    我学习Laravel知识很大一部分都是参考了Laravel学院,安装配置可直接访问[ Laravel 5.5 文档...

  • 在macOS使用 Valet 配置 Laravel 的开发环境

    #前言 记录在macOS配置 Laravel 的开发环境,Laravel 是一套简洁、优雅的PHP Web开发框架...

  • Laravel随笔

    Laravel是目前用的最多的一个PHP框架,在国外多数人使用Laravel框架,但是在国内的中小型企业确实用的比...

  • laravel 公共方法

    正好用到laravel的公共方法,顺便记录一下laravel公共方法创建使用 先创建文件 app/Helpers/...

  • laravel中间件

    在了解一些基础的laravel知识后,可以试着去了解laravel一些功能强大并且特有的知识点,比如中间件,那么官...

网友评论

      本文标题:Laravel实用知识记录

      本文链接:https://www.haomeiwen.com/subject/lmnoqktx.html