Requêtes de base de données et relations de modèle dans Laravel : gérez les opérations de données avec élégance
Introduction :
Les opérations de base de données sont une partie inévitable du développement Web, et Laravel, en tant que cadre de développement simple, élégant et flexible, fournit des requêtes de base de données riches et outils de traitement des relations modèles. En utilisant Laravel, nous pouvons effectuer des opérations de base de données plus facilement et établir des connexions entre les données via des relations de modèle. Cet article présentera la méthode de traitement élégant des opérations de données dans Laravel sous deux aspects : la requête de base de données et la relation de modèle, pour aider les lecteurs à mieux utiliser Laravel pour le développement.
1. Requête de base de données
// Interroger tous les utilisateurs
$users = DB::table('users')->get();
// Interroger le champ spécifié et trier par identifiant par ordre décroissant
$ users = DB ::table('users')->select('name', 'email')->orderBy('id', 'desc')->get();
// Âge de la requête supérieur ou égal à 18 Utilisateurs âgés de
$users = DB::table('users')->where('age', '>=', 18)->get();
// Requête données utilisateur par page
$ users = DB::table('users')->paginate(10);
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class User extends Model
{
protected $table = 'users';
}
Ensuite, les données peuvent être traité via le modèle Requête et opération :
// Interroger tous les utilisateurs
$users = User::all();
// Interroger le champ spécifié et trier par identifiant dans l'ordre décroissant
$users = User::select( 'name', 'email' )->orderBy('id', 'desc')->get();
// Interroger les utilisateurs âgés de 18 ans ou plus
$users = User::where(' age', '>= ', 18)->get();
// Interroger les données utilisateur par pagination
$users = User::paginate(10);
Relation modèle
En développement réel, il existe souvent certaines différences entre les relations d'association des données, et Laravel propose une variété de méthodes pour gérer les relations entre les modèles, telles que un à un, un à plusieurs, plusieurs à plusieurs, etc. Ce qui suit est une introduction utilisant un à plusieurs comme exemple.
hasMany
dans la classe modèle pour définir une association un-à-plusieurs : hasMany
方法定义一对多关联关系:namespace AppModels;
use IlluminateDatabaseEloquentModel;
class User extends Model
{
protected $table = 'users'; public function posts() { return $this->hasMany(Post::class); }
}
$user->posts
}
$user->posts
: $posts = $user->posts;
Filtrage et tri des données associées
Nous pouvons également utiliser des méthodes associées pour effectuer des opérations de filtrage et de tri des données. Par exemple, obtenez les 5 meilleurs messages de l'utilisateur et triez-les par ordre décroissant par heure de publication :
$user = User::find(1);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!