今天在項目中再次碰見laravel中從數據庫中查詢到的結果是對象,用toArray也不好用,之前改過一次,印象中是在/confing/database.php, 'fetch' => PDO::FETCH_OBJ,這行改為'fetch' =>FETCH_ASSOC就好用了,但是我現在做的這個是二次開發,那么如果這個改了,之前做的東西可能會出錯,然后又找了找,查了查,結果是這樣的
引用
use PDO; DB::setFetchMode(PDO::FETCH_ASSOC); $rs = DB::table('vrtourl') -> get();
就可以解決了。
參考網站https://stackoverflow.com/questions/37517728/laravel-5-1-dbselect-toarray
參考網站:https://blog.csdn.net/kirsten_z/article/details/60144167
PDO::FETCH_ASSOC //從結果集中獲取以列名為索引的關聯數組。 PDO::FETCH_NUM //從結果集中獲取一個以列在行中的數值偏移量為索引的值數組。 PDO::FETCH_BOTH //這是默認值,包含上面兩種數組。 PDO::FETCH_OBJ //從結果集當前行的記錄中獲取其屬性對應各個列名的一個對象。 PDO::FETCH_BOUND //使用fetch()返回TRUE,並將獲取的列值賦給在bindParm()方法中指定的相應變量。 PDO::FETCH_LAZY //創建關聯數組和索引數組,以及包含列屬性的一個對象,從而可以在這三種接口中任選一種。
另外的方法:
function objectToArray($object) { //先編碼成json字符串,再解碼成數組 return json_decode(json_encode($object), true); }