使用Laravel来进行MariaDB的CRUD操作(第一部分)

我主要参考了下一页。
我使用了Laravel5.6入门基本CRUD操作的教程,通过亲身体验来记忆。
区别在于我将数据库更改为了MariaDB。
我使用了Laravel Framework 10.37.3。

在Ubuntu上安装必要的软件。

sudo apt install php-mysql
    1. MariaDB的准备

 

    1. 准备以下数据到MariaDB。

用户:scott
密码:tiger123
数据库:article

连接确认
$ mysql -uscott -ptiger123 article
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

欢迎使用MariaDB监视器。命令以;或\g结尾。
您的MariaDB连接ID为36
服务器版本:10.5.15-MariaDB-0ubuntu0.21.10.1 Ubuntu 21.10

版权所有(c)2000, 2018,Oracle,MariaDB Corporation Ab及其他人。

键入“help;”或“\h”以获取帮助。键入“\c”以清除当前的输入语句。

MariaDB [article]>

创建项目
laravel new sample

.env设置
如果.env文件不存在,
cp .env.example .env

修改.env的数据库部分

.env
(省略)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=article
DB_USERNAME=scott
DB_PASSWORD=tiger123
(省略)

如果
APP_KEY=
为空白时,
php artisan key:generate

如下所示,设置.env的APP_KEY
APP_KEY=base64:xjG4svW8IkhyMg0NzCP+C4kVZGvs/KUO2XarVzJJdUg=

创建模型和迁移
php artisan make:model Article -m

通过添加-m选项,将会创建database/migrations/2021_05_15_002753_create_articles_table.php。

编辑迁移文件
添加两行

database/migrations/2021_05_15_002753_create_articles_table.php
// 省略
public function up()
{
Schema::create(‘articles’, function (Blueprint $table) {
$table->id();
$table->string(‘title’); // 添加
$table->text(‘body’); // 添加
$table->timestamps();
});
// 省略

修改app/Providers/AppServiceProvider.php
添加两行
>这个修改是与MariaDB连接所必需的。

app/Providers/AppServiceProvider.php
+——————-+
| Tables_in_article |
+——————-+
| articles |
| migrations |
| password_resets |
| users |
+——————-+
4 rows in set (0.03 sec)

MariaDB [article]>

创建控制器
php artisan make:controller ArticlesController -r

定义路由
>在最后添加以下一行

routes/web.php
// 省略
Route::resource(‘articles’, ‘App\Http\Controllers\ArticlesController’);

将数据插入到MariaDB的articles表中。
使用以下SQL语句插入数据。
insert into articles set id=10, title=”aaa”, body=”こんにちは”;
insert into articles set id=11, title=”bbb”, body=”おはよう”;
insert into articles set id=12, title=”ccc”, body=”今晩は”;

MariaDB的状态
MariaDB [article]> select * from articles;
+—-+————+————+——-+—————–+
| id | created_at | updated_at | title | body |
+—-+————+————+——-+—————–+
| 10 | NULL | NULL | aaa | こんにちは |
| 11 | NULL | NULL | bbb | おはよう |
| 12 | NULL | NULL | ccc | 今晩は |
+—-+————+————+——-+—————–+
3 rows in set (0.000 sec)

MariaDB [article]>

创建用于显示列表的控制器

app/Http/Controllers/ArticlesController.php
// 省略
use App\Models\Article;
// 省略
public function index()
{
$articles = Article::all();
return $articles;
}
// 省略

启动服务器
php artisan serve

使用curl访问,并确认以JSON格式返回数据的列表
curl http://127.0.0.1:8000/articles | jq .

[
{
“id”: 10,
“title”: “aaa”,
“body”: “こんにちは”,
“created_at”: null,
“updated_at”: null
},
{
“id”: 11,
“title”: “bbb”,
“body”: “おはよう”,
“created_at”: null,
“updated_at”: null
},
{
“id”: 12,
“title”: “ccc”,
“body”: “今晩は”,
“created_at”: null,
“updated_at”: null
}
]

确认Laravel的版本。

$ php artisan --version
Laravel Framework 10.37.3

下一页 (Xià yí yè)

Laravel 中的 MariaDB CRUD(第二部分)

bannerAds