Laravel是一個(gè)非常流行的PHP框架,且在web應(yīng)用程序開(kāi)發(fā)方面提供了很多便利。Laravel支持許多數(shù)據(jù)庫(kù)技術(shù),包括MySQL、PostgreSQL和SQLite。本篇文章將介紹如何使用Laravel與MySQL數(shù)據(jù)庫(kù)進(jìn)行交互,主要包括以下幾個(gè)步驟:
- 安裝MySQL創(chuàng)建數(shù)據(jù)庫(kù)配置Laravel環(huán)境變量創(chuàng)建遷移運(yùn)行遷移安裝MySQL
首先要在本地計(jì)算機(jī)上安裝MySQL,可以使用官方的MySQL安裝程序,或者使用類(lèi)似XAMPP的軟件包。為了使用Laravel,需要將MySQL的安裝路徑添加到計(jì)算機(jī)的環(huán)境變量中。在Windows系統(tǒng)上,可以這樣操作:
1)打開(kāi)控制面板 -> 系統(tǒng)與安全 -> 系統(tǒng) -> 高級(jí)系統(tǒng)設(shè)置 -> 環(huán)境變量
2)在“系統(tǒng)變量”中,找到“Path”,并將MySQL的bin文件夾路徑添加到末尾。例如:
C:Program FilesMySQLMySQL Server 8.0in;
登錄后復(fù)制
- 創(chuàng)建數(shù)據(jù)庫(kù)
使用MySQL客戶端程序(比如MySQL命令行客戶端或phpMyAdmin)創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),例如:
CREATE DATABASE laravel_db;
登錄后復(fù)制
接下來(lái),需要在Laravel項(xiàng)目中設(shè)置數(shù)據(jù)庫(kù)連接。
- 配置Laravel環(huán)境變量
使用文本編輯器打開(kāi)Laravel項(xiàng)目的.env
文件,這是Laravel使用的環(huán)境變量文件。在該文件中,可以設(shè)置應(yīng)用程序所需的各種變量和參數(shù),包括數(shù)據(jù)庫(kù)連接信息。
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_db DB_USERNAME=root DB_PASSWORD=
登錄后復(fù)制
這些參數(shù)比較容易理解。DB_CONNECTION
指定使用哪種數(shù)據(jù)庫(kù)系統(tǒng),例如MySQL;DB_HOST
、DB_PORT
和DB_DATABASE
指定連接MySQL的主機(jī)名、端口號(hào)和數(shù)據(jù)庫(kù)名稱,而DB_USERNAME
和DB_PASSWORD
則是連接用戶名和密碼。必須確保這些值與MySQL的配置相匹配,才可以成功連接到數(shù)據(jù)庫(kù)。
- 創(chuàng)建遷移
遷移是Laravel中數(shù)據(jù)表的創(chuàng)建、修改和刪除的機(jī)制。通過(guò)遷移,可以在任何環(huán)境中完成這些操作,并輕松地將這些更改應(yīng)用于不同的服務(wù)器。
在Laravel中,遷移存儲(chǔ)在database/migrations目錄中。可以使用Artisan命令行工具創(chuàng)建新的遷移文件。比如,下面這個(gè)命令將創(chuàng)建一個(gè)創(chuàng)建users表的遷移:
php artisan make:migration create_users_table
登錄后復(fù)制
這將在migrations目錄中創(chuàng)建一個(gè)新文件,名為2020_07_30_135314_create_users_table.php
(時(shí)間戳可能會(huì)有所不同)。打開(kāi)該文件可以看到Laravel提供了一些模板代碼。
<?php use IlluminateDatabaseMigrationsMigration; use IlluminateDatabaseSchemaBlueprint; use IlluminateSupportFacadesSchema; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ 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(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }
登錄后復(fù)制
這段代碼在up()方法中定義了一個(gè)名為users的表,并指定了該表的各個(gè)字段。id()方法定義了主鍵,name()和email()方法定義了普通字符串字段,timestamp()方法定義了時(shí)間戳,rememberToken()方法定義了用于“記住我”機(jī)制的token字段,最后一個(gè)timestamps()方法定義了兩個(gè)時(shí)間戳字段(created_at和updated_at)。
可以根據(jù)需要修改這個(gè)模板代碼,例如添加其他字段或修改現(xiàn)有字段。一旦準(zhǔn)備好了遷移,就可以運(yùn)行它。
- 運(yùn)行遷移
為了在數(shù)據(jù)庫(kù)中創(chuàng)建users表,需要運(yùn)行Laravel的遷移機(jī)制。可以使用下面的Artisan命令行工具運(yùn)行指定的遷移文件:
php artisan migrate --path=/database/migrations/create_users_table.php
登錄后復(fù)制
該命令將打印輸出遷移的狀態(tài),包括執(zhí)行成功還是失敗,以及對(duì)那些表做了實(shí)際的修改。
現(xiàn)在,就可以在Laravel中使用users表了。可以在控制器、模型或其他部分中使用Eloquent對(duì)象,將數(shù)據(jù)插入表中、查詢和查詢表中的數(shù)據(jù)、更新數(shù)據(jù)等。
總結(jié)
以上就是Laravel后端數(shù)據(jù)庫(kù)搭建的流程。在實(shí)際使用時(shí),還需要更深入地了解Eloquent的使用方法,以及如何與MySQL、PostgreSQL等數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行更高級(jí)和更復(fù)雜的交互。如果使用Laravel構(gòu)建一個(gè)大型的web應(yīng)用程序,這些知識(shí)點(diǎn)都是非常重要的。
以上就是laravel后端數(shù)據(jù)庫(kù)搭建流程的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.xfxf.net其它相關(guān)文章!