使用Laravel创建以sr为名的数据库,创建n45为名的数据表。 (2)表结构为3列:第1列列名为id,设为主键、自增;第2列列名为name;第3列为age。为数据表创建模型,编写相应的路由、控制器和视图。 (3)视图中用无序列表(ul 标签)呈现数据表name列数据。 (4)创建视图,在表单中提供两个文本框,用于输入以上数据表除id列以外的数值,以post方式提交表单。 (5)控制器方法将表单提交的数据,做为新一行数据添加到数据表中。
时间: 2023-11-27 12:52:32 浏览: 191
1. 创建数据库和数据表:
在 Laravel 中,可以使用 Artisan 命令行工具来创建数据库和数据表。打开命令行终端,进入 Laravel 项目目录,输入以下命令:
```
php artisan make:model Sr -m
```
这个命令将创建一个名为 Sr 的 Eloquent 模型,并且会同时创建一个对应的数据库迁移文件。打开数据库迁移文件,可以看到如下代码:
```php
public function up()
{
Schema::create('srs', function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('srs');
}
```
修改 up 方法中的代码,添加 name 和 age 两列:
```php
public function up()
{
Schema::create('srs', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->integer('age');
$table->timestamps();
});
}
```
然后在命令行终端中输入以下命令,执行数据库迁移:
```
php artisan migrate
```
2. 创建模型、路由和控制器:
打开 Sr 模型文件,添加以下代码:
```php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Sr extends Model
{
use HasFactory;
protected $fillable = ['name', 'age'];
}
```
在路由文件 web.php 中添加以下代码:
```php
use App\Http\Controllers\SrController;
Route::get('/', [SrController::class, 'index']);
Route::post('/', [SrController::class, 'store']);
```
创建 SrController 控制器:
```
php artisan make:controller SrController
```
打开 SrController.php 文件,添加以下代码:
```php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Sr;
class SrController extends Controller
{
public function index()
{
$srs = Sr::all();
return view('index', compact('srs'));
}
public function store(Request $request)
{
$sr = new Sr;
$sr->name = $request->name;
$sr->age = $request->age;
$sr->save();
return redirect('/');
}
}
```
3. 创建视图:
打开 resources/views/index.blade.php 文件,在文件中添加以下代码:
```html
<ul>
@foreach($srs as $sr)
<li>{{ $sr->name }}</li>
@endforeach
</ul>
<form method="post">
@csrf
<div>
<label for="name">Name:</label>
<input type="text" name="name" id="name">
</div>
<div>
<label for="age">Age:</label>
<input type="text" name="age" id="age">
</div>
<button type="submit">Add</button>
</form>
```
这个视图中,使用了 Blade 模板引擎来显示数据表中的 name 列数据,并且提供了一个表单,用于添加新的数据。
现在,访问网站首页,就可以看到数据表中的 name 列数据,并且可以通过表单向数据表中添加新的数据了。
阅读全文