使用Laravel来进行MariaDB的CRUD操作(第一部分)
我主要参考了下一页。
我使用了Laravel5.6入门基本CRUD操作的教程,通过亲身体验来记忆。
区别在于我将数据库更改为了MariaDB。
我使用了Laravel Framework 10.37.3。
在Ubuntu上安装必要的软件。
sudo apt install php-mysql
-
- MariaDB的准备
-
- 准备以下数据到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(第二部分)