网络编程
位置:首页>> 网络编程>> php编程>> laravel中的一些简单实用功能

laravel中的一些简单实用功能

作者:gaoziyuecj  发布时间:2024-05-13 09:51:57 

标签:laravel,实用,功能

前言

N年前 Laravel 刚面世时,的确让很多人眼前一亮,众人惊呼原来 PHP 代码还可以写得这么简洁优雅。

本文主要介绍的是关于laravel中的一些简单实用功能,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

让lumen的dd() dump()像laravel一样优雅


composer require symfony/var-dumper

获取执行的sql语句

可查看sql where参数等


public function index()
{
 DB::connection()->enableQueryLog(); // 开启查询日志

DB::table('posts')->paginate(5); //要查看的sql

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

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

只能查看简单的sql不能看到传入的参数


DB::table('posts')->toSql();

查询sql记录

如果,你想要将日志文件保存在 storage/logs 目录中。需要更新: app/Providers/AppServiceProvider.php 里的 boot() 函数


<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use DB;
use Log;

class AppServiceProvider extends ServiceProvider
{
/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
 //
 // 新增代码
 DB::listen(function ($query) {
  Log::info(
   $query->sql,
   $query->bindings,
   $query->time
  );
 });
}

/**
 * Register any application services.
 *
 * @return void
 */
public function register()
{
 //
}
}

Laravel 如何在模型事件中获取某字段修改前的值


Issue::saving(function(Issue $issue){
if ($issue->isDirty('title')) {
 $user = Auth::user()->username;
 $oldTitle = $issue->getOriginal('title'); // 原始值
 $newTitle = $issue->title;    // 新值
 ActionLog::log("$user 把标题 $oldTitle 修改为 $newTitle");
}
});

来源:https://segmentfault.com/a/1190000016677264

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com