laravel中的一些簡單實用功能

這篇文章主要給大家介紹了關於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");
 }
});

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對神馬文庫的支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章