web-dev-qa-db-fra.com

Différence entre Laravel DB :: insert () et DB :: table () -> insert ()

J'ai essayé de savoir lequel utiliser quand, et si je devrais même utiliser les deux.

Je regarde Laravel docs et ils contiennent les deux. D'après ce que je peux en tirer, DB::insert() fournit plus de requêtes "personnalisées" que DB::table()->insert().

Quelqu'un pourrait-il être en mesure de clarifier la différence entre les deux quand il s'agit de savoir comment et quand utiliser lequel?

5
Jesper Andersen

Le constructeur de requêtes compile les conditions d'une requête sql brute, mais je l'utilise parce que c'est beaucoup plus pratique 

15
Bogdan Koliesnik

Vous essayez toujours d'utiliser le générateur de requêtes autant que possible, cela empêche l'injection SQL.

Le générateur de requêtes Laravel utilise la liaison de paramètres PDO pour protéger votre application contre les attaques par injection SQL. Il n'est pas nécessaire de nettoyer les chaînes passées en tant que liaisons

Query Builder est également utile pour les caractères spéciaux tels que "," dans les valeurs. Pour une déclaration brute, vous devez vous en occuper vous-même.

0
Yan Zhao