laravel5.2為什麼查詢結果不是二維陣列呢?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-06 09:54:43
0
2
802
$res=DB::select('select * from qq');
var_dump($res);

$res=DB::table('qq')->get();
var_dump($res);

用這兩種方式查詢後為什麼圖片中得到的是個一維數組呢?一維數組中為什麼是物件?用原生查詢得到的是二維數組 這個結果為什麼不是二維數組呢?

#
曾经蜡笔没有小新
曾经蜡笔没有小新

全部回覆(2)
阿神

以下為Laravel 5.4版本的,因為沒有使用過5.2版本的Laravel。

運行原生的SQL查詢,取得的是一個以數組形式的結果集,詳見文件。

$res = DB::select('select * from qq');
dd($res);

/*
 * array:5 [▼
    0 => {#388 ▶}
    1 => {#399 ▶}
    2 => {#400 ▶}
    3 => {#401 ▶}
    4 => {#402 ▶}
    ]
 */

使用查詢建構器運行SQL語句,取得的是一個Collection對象,詳見文件。

$res = DB::table('qq')->get();
dd($res);

/*
 * Collection {#398 ▼
      #items: array:5 [▼
        0 => {#399 ▶}
        1 => {#400 ▶}
        2 => {#401 ▶}
        3 => {#402 ▶}
        4 => {#403 ▶}
      ]
  }
 */

  • 運行原生SQL語句取得的是一個一維數組且包裹著一個對象,並非二維數組。

  • 使用查詢建構器取得的是一個Collection對象,裡面也是一個一維陣列包裹著一個個對象。那為何要回傳Collection物件呢,因為其內建了許多有用且優雅的方法。就像Eloquent預設回傳Collection物件一樣。

淡淡烟草味

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!