$res=DB::select('select * from qq');
var_dump($res);
$res=DB::table('qq')->get();
var_dump($res);
Warum erhalte ich nach Verwendung dieser beiden Abfragemethoden ein eindimensionales Array im Bild? Warum gibt es Objekte in eindimensionalen Arrays? Mit der nativen Abfrage erhalten wir ein zweidimensionales Array. Warum ist das Ergebnis kein zweidimensionales Array?
运行原生的SQL查询,获取的是一个以数组形式的结果集,详见文档。
使用查询构造器运行SQL语句,获取的是一个Collection对象,详见文档。
运行原生SQL语句获取的是一个一维数组且包裹着一个个对象,并非二维数组。
使用查询构造器获取的是一个Collection对象,里面也是一个一维数组包裹着一个个对象。那为何要返回Collection对象呢,因为其内置了很多有用且优雅的方法。就像Eloquent默认返回Collection对象一样。