簡體   English   中英

如何獲取在Laravel 5中執行的簡單查詢? DB :: getQueryLog給定數組

[英]How to get the simple query executed in Laravel 5? DB:: getQueryLog giving array

我是Laravel的Fresher,我想在Laravel 5中執行簡單的查詢。我正在使用下面的函數插入數據

    public function store12($inputs)
    {
        $this->name = $inputs['name'];
        $this->email = $inputs['email'];
        $this->text = $inputs['message'];       
        $this->save();
         echo "<pre>"; print_r(dd(DB::getQueryLog()));
        //echo DB::table('contacts')->toSql();
        die;

    }

並使用它: -dd(DB :: getQueryLog())獲取行查詢,這在下面給出了原始查詢:-

array:1
  0 => array:3
    "query" => "insert into `contacts` (`name`, `email`, `text`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?)"
    "bindings" => array:5
      0 => "shahjad"
      1 => "shahjad.ahmadtimt@gmail.com"
      2 => "xsxdxsda"
      3 => "2016-06-13 12:17:43"
      4 => "2016-06-13 12:17:43"
    ]
    "time" => 33.0
  ]
]

其實我想這樣查詢:

insert into `contacts` (`name`, `email`, `text`, `updated_at`, `created_at`) values ('shahjad', 'shahjad.ahmadtimt@gmail.com', 'xsxdxsda', '2016-06-13 12:17:43', '2016-06-13 12:17:43')"

這樣我就可以輕松地直接將此查詢直接執行到phpmyadmin中,否則我不得不在查詢中提及該值,這很耗時。

在Codeigniter中,當我們使用last_query方法時,它將顯示不帶數組的簡單查詢。 我想像codeigniter一樣。 有沒有可能

使用-> tosql()

例子

  dd(DB::select('users')->where('smthing',1)->get()->tosql());

編輯

 $test = DB::table('users')->insert(
    ['name' => $inputs['name'], 'email' => $inputs['email'], 'text' => $inputs['message']]
  )->tosql();

或者你可以這樣做

\DB::listen(function($sql) {
    var_dump($sql);
});

要么

您可以使用此軟件包,它將向您顯示已進行的每個sql查詢laravel-debugbar

你嘗試過原始方法

$results = DB::select( DB::raw("
                               insert into `contacts` 
                               (`name`, `email`, `text`, `updated_at`, `created_at`) 
                              values
                              ('shahjad', 'shahjad.ahmadtimt@gmail.com', 'xsxdxsda', '2016-06-13 12:17:43', '2016-06-13 12:17:43')
                             " ) );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM