$res=DB::select('select * from qq');
var_dump($res);
$res=DB::table('qq')->get();
var_dump($res);
Après avoir utilisé ces deux méthodes pour interroger, pourquoi est-ce que j'obtiens un tableau unidimensionnel dans l'image ? Pourquoi y a-t-il des objets dans des tableaux unidimensionnels ? Ce que nous obtenons en utilisant une requête native est un tableau à deux dimensions. Pourquoi le résultat n'est-il pas un tableau à deux dimensions ?
Exécutez la requête SQL native et obtenez un ensemble de résultats sous la forme d'un tableau Consultez la documentation pour plus de détails.
Utilisez le Query Builder pour exécuter l'instruction SQL et obtenir un objet Collection Consultez la documentation pour plus de détails.
Ce que vous obtenez lorsque vous exécutez une instruction SQL native est un tableau unidimensionnel enveloppé d'objets, et non un tableau bidimensionnel.
Ce que vous obtenez en utilisant le constructeur de requête est un objet Collection, qui est également un tableau unidimensionnel enveloppant chaque objet. Alors pourquoi renvoyer l'objet Collection, car il intègre de nombreuses méthodes utiles et élégantes. Tout comme Eloquent renvoie les objets Collection par défaut.