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
.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
表示数据库的密码。根据自己的实际情况进行相应的修改。
创建迁移文件:
在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
方法用来删除表。具体的表结构可以根据实际需求进行修改。
执行迁移:
在创建完迁移文件后,可以使用以下命令来执行迁移,将表结构同步到数据库中:
php artisan make:model User
执行上述命令后,Laravel会自动读取database/migrations
目录下的所有迁移文件,并将其执行。
模型定义:
在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
模型的关联关系。
$users = User::where('age', '>', 18) ->orderBy('created_at', 'desc') ->paginate(10);
上述代码中,首先创建了一个User
对象,然后通过属性赋值的方式设置对象的属性,最后调用save
方法将数据保存到数据库中。
二、数据读取
$users = DB::select('select * from users where age > ?', [18]);
上述代码中,通过where
方法可以设置查询条件,orderBy
方法可以设置排序规则,paginate
方法可以实现分页,默认每页显示10条数据。
$user = User::find(1); $posts = $user->posts;
上述代码中,select
方法用来执行原始查询,可以通过参数绑定的方式来设置查询条件。
上述代码中,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_PORT
code> 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 :
Schema
pour créer une table et définir les colonnes de la table. L'exemple de code spécifique est le suivant : 🎜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. 🎜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 : 🎜
$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. 🎜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. 🎜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. 🎜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!