Maison  >  Article  >  cadre php  >  Comment utiliser Laravel pour implémenter des fonctions de stockage et de lecture de données

Comment utiliser Laravel pour implémenter des fonctions de stockage et de lecture de données

WBOY
WBOYoriginal
2023-11-04 15:03:28761parcourir

Comment utiliser Laravel pour implémenter des fonctions de stockage et de lecture de données

Comment utiliser Laravel pour implémenter des fonctions de stockage et de lecture de données

Introduction :
Laravel est un framework PHP populaire qui fournit une syntaxe simple et élégante et des fonctions puissantes, permettant aux développeurs de créer facilement des applications Web puissantes. Parmi elles, le stockage et la lecture des données sont des fonctions de base que toute application Web doit posséder. Cet article présentera en détail comment utiliser Laravel pour réaliser des fonctions de stockage et de lecture de données, et donnera des exemples de code spécifiques. J'espère qu'il sera utile à l'apprentissage et au développement de chacun.

1. Stockage des données

  1. Configuration de la base de données :
    Tout d'abord, nous devons configurer la base de données. Dans Laravel, vous pouvez définir des éléments de configuration liés à la base de données dans le fichier .env du répertoire racine du projet, tels que le type de base de données, le nom d'hôte, le nom d'utilisateur, le mot de passe, etc. La configuration spécifique est la suivante :
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=
.env文件中设置数据库相关的配置项,例如数据库的类型、主机名、用户名、密码等。具体的配置如下:
php artisan make:migration create_users_table

其中,DB_CONNECTION表示数据库的类型,DB_HOST表示数据库的主机名,DB_PORT表示数据库的端口号,DB_DATABASE表示数据库的名称,DB_USERNAME表示数据库的用户名,DB_PASSWORD表示数据库的密码。根据自己的实际情况进行相应的修改。

  1. 创建迁移文件:
    在Laravel中,使用迁移文件来管理数据库的结构变化,可以通过命令行生成迁移文件:

    use IlluminateDatabaseMigrationsMigration;
    use IlluminateDatabaseSchemaBlueprint;
    use IlluminateSupportFacadesSchema;
    
    class CreateUsersTable extends Migration
    {
        public function up()
        {
            Schema::create('users', function (Blueprint $table) {
                $table->id();
                $table->string('name');
                $table->string('email')->unique();
                $table->timestamp('email_verified_at')->nullable();
                $table->string('password');
                $table->rememberToken();
                $table->timestamps();
            });
        }
    
        public function down()
        {
            Schema::dropIfExists('users');
        }
    }

    执行上述命令后,将会在database/migrations目录下生成一个名为create_users_table的迁移文件。在该文件中,我们可以使用Schema类来创建表,并定义表中的列。具体代码示例如下:

php artisan migrate

上述代码中,up方法用来创建表,down方法用来删除表。具体的表结构可以根据实际需求进行修改。

  1. 执行迁移:
    在创建完迁移文件后,可以使用以下命令来执行迁移,将表结构同步到数据库中:

    php artisan make:model User

    执行上述命令后,Laravel会自动读取database/migrations目录下的所有迁移文件,并将其执行。

  2. 模型定义:
    在Laravel中,模型用来与数据库表进行交互,可以通过命令行生成模型文件:

    namespace App;
    
    use IlluminateDatabaseEloquentModel;
    
    class User extends Model
    {
        protected $table = 'users';
    
        protected $fillable = ['name', 'email', 'password'];
    
        protected $hidden = ['password'];
    
        public function posts()
        {
            return $this->hasMany(Post::class);
        }
    }

    执行上述命令后,将会在app目录下生成一个名为User的模型文件。在该文件中,我们可以定义与数据库表的映射关系、模型的属性和方法,从而实现对数据的存储和读取。具体代码示例如下:

$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->password = bcrypt('password');
$user->save();

上述代码中,$table属性表示与模型对应的数据库表名,$fillable属性表示可以批量赋值的字段,$hidden属性表示隐藏的字段,posts方法定义了与Post模型的关联关系。

  1. 数据存储:
    在创建了模型后,就可以使用模型类来进行数据的存储。例如,要添加一条用户数据到数据库中,可以使用以下代码:
$users = User::where('age', '>', 18)
       ->orderBy('created_at', 'desc')
       ->paginate(10);

上述代码中,首先创建了一个User对象,然后通过属性赋值的方式设置对象的属性,最后调用save方法将数据保存到数据库中。

二、数据读取

  1. 查询构造器:
    Laravel提供了强大的查询构造器,可以方便地构建数据库查询语句。使用查询构造器可以实现复杂的条件查询、排序、分页等功能。具体代码示例如下:
$users = DB::select('select * from users where age > ?', [18]);

上述代码中,通过where方法可以设置查询条件,orderBy方法可以设置排序规则,paginate方法可以实现分页,默认每页显示10条数据。

  1. 原始查询:
    除了使用查询构造器,还可以使用原始查询语句来操作数据库。使用原始查询可以更加灵活地操作数据库,但需要注意安全性。具体代码示例如下:
$user = User::find(1);
$posts = $user->posts;

上述代码中,select方法用来执行原始查询,可以通过参数绑定的方式来设置查询条件。

  1. 模型关联查询:
    在Laravel中,还可以使用模型关联查询来实现更加复杂的数据读取操作。例如,要获取某个用户发表的所有文章,可以使用以下代码:
rrreee

上述代码中,find Parmi eux, DB_CONNECTION représente le type de base de données, DB_HOST représente le nom d'hôte de la base de données, DB_PORTcode> représente le numéro de port de la base de données, DB_DATABASE représente le nom de la base de données, DB_USERNAME représente le nom d'utilisateur de la base de données et DB_PASSWORD représente le mot de passe de la base de données. Apportez les modifications correspondantes en fonction de votre situation réelle.


    Créez un fichier de migration :

    Dans Laravel, utilisez les fichiers de migration pour gérer les changements structurels dans la base de données. Vous pouvez générer des fichiers de migration via la ligne de commande : 🎜rrreee🎜Après avoir exécuté la commande ci-dessus, ce sera dans create_users_table est généré dans le répertoire code>database/migrations. Dans ce fichier, nous pouvons utiliser la classe Schema pour créer une table et définir les colonnes de la table. L'exemple de code spécifique est le suivant : 🎜
rrreee🎜Dans le code ci-dessus, la méthode up est utilisée pour créer la table, et la méthode down La méthode est utilisée pour supprimer la table. La structure spécifique du tableau peut être modifiée en fonction des besoins réels. 🎜
    🎜🎜Exécuter la migration : 🎜Après avoir créé le fichier de migration, vous pouvez utiliser la commande suivante pour exécuter la migration et synchroniser la structure de la table avec la base de données : 🎜rrreee🎜Après avoir exécuté la commande ci-dessus, Laravel lira automatiquement Récupérer tous les fichiers de migration dans le répertoire database/migrations et les exécutera. 🎜🎜🎜Définition du modèle : 🎜Dans Laravel, le modèle est utilisé pour interagir avec la table de la base de données. Le fichier modèle peut être généré via la ligne de commande : 🎜rrreee🎜Après avoir exécuté la commande ci-dessus, il sera dans <. code>appUn fichier modèle nommé User est généré dans le répertoire. Dans ce fichier, nous pouvons définir la relation de mappage avec la table de la base de données, les attributs et les méthodes du modèle, afin de stocker et lire les données. Des exemples de code spécifiques sont les suivants : 🎜
rrreee🎜Dans le code ci-dessus, l'attribut $table représente le nom de la table de base de données correspondant au modèle, et le $ L'attribut fillable représente les champs auxquels des valeurs peuvent être attribuées par lots, l'attribut $hidden représente les champs masqués et la méthode posts définit l'association avec le Post. 🎜
    🎜Stockage des données : 🎜Après avoir créé le modèle, vous pouvez utiliser la classe de modèle pour stocker les données. Par exemple, pour ajouter une donnée utilisateur à la base de données, vous pouvez utiliser le code suivant :
rrreee🎜Dans le code ci-dessus, un objet User est d'abord créé, puis via l'affectation d'attributs, définissez les propriétés de l'objet et enfin appelez la méthode save pour enregistrer les données dans la base de données. 🎜🎜2. Lecture des données🎜🎜🎜Constructeur de requêtes : 🎜Laravel fournit un puissant générateur de requêtes qui peut facilement créer des instructions de requête de base de données. Utilisez le générateur de requêtes pour implémenter des requêtes conditionnelles complexes, du tri, de la pagination et d'autres fonctions. Des exemples de code spécifiques sont les suivants : rrreee🎜Dans le code ci-dessus, les conditions de requête peuvent être définies via la méthode where, et les règles de tri peuvent être définies via la méthode . Méthode orderBy paginate peut implémenter la pagination. Par défaut, 10 éléments de données sont affichés sur chaque page. 🎜
    🎜Requête originale : 🎜En plus d'utiliser le générateur de requêtes, vous pouvez également utiliser des instructions de requête originales pour faire fonctionner la base de données. L'utilisation de requêtes brutes vous permet d'exploiter la base de données de manière plus flexible, mais vous devez faire attention à la sécurité. L'exemple de code spécifique est le suivant :
rrreee🎜Dans le code ci-dessus, la méthode select est utilisée pour exécuter la requête d'origine, et les conditions de requête peuvent être définies via le paramètre obligatoire. 🎜
    🎜Requête liée au modèle : 🎜Dans Laravel, vous pouvez également utiliser une requête liée au modèle pour implémenter des opérations de lecture de données plus complexes. Par exemple, pour récupérer tous les articles publiés par un utilisateur, vous pouvez utiliser le code suivant :
rrreee🎜Dans le code ci-dessus, la méthode find est utilisée pour trouver le correspondant objet modèle basé sur la clé primaire. L'objet associé est ensuite accessible via les propriétés de l'objet modèle. 🎜🎜Conclusion : 🎜Cet article explique comment utiliser Laravel pour implémenter des fonctions de stockage et de lecture de données, et donne des exemples de code spécifiques. Dans le développement réel, vous pouvez utiliser de manière flexible les méthodes correspondantes pour compléter le stockage et la lecture des données en fonction de vos propres besoins. J'espère que cet article sera utile à tout le monde et vous permettra d'avoir une compréhension et une maîtrise plus approfondies des fonctions de manipulation de données du framework Laravel. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn