在Laravel中,如果你想在HTML选择输入中保存不同的值到数据库,你需要创建一个表单,将选择输入的值作为表单数据发送到后端,然后在后端将这些值保存到数据库
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Save Select Input to Database</title>
</head>
<body>
<form action="/save" method="POST">
@csrf
<label for="options">Choose an option:</label>
<select name="option" id="options">
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
<option value="option3">Option 3</option>
</select>
<button type="submit">Submit</button>
</form>
</body>
</html>
routes/web.php
)中添加一个路由来处理表单提交:Route::post('/save', 'YourController@store');
php artisan make:controller YourController
store
方法来处理表单数据并将其保存到数据库:<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\YourModel;
class YourController extends Controller
{
public function store(Request $request)
{
$validatedData = $request->validate([
'option' => 'required'
]);
$option = $validatedData['option'];
$yourModel = new YourModel();
$yourModel->option = $option;
$yourModel->save();
return redirect()->back()->with('success', 'Option saved successfully!');
}
}
php artisan make:model YourModel
app/Models/YourModel.php
)中定义关联的数据库表结构:<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class YourModel extends Model
{
protected $fillable = [
'option'
];
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateYourModelsTable extends Migration
{
public function up()
{
Schema::create('your_models', function (Blueprint $table) {
$table->id();
$table->string('option');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('your_models');
}
}
php artisan migrate
现在,当用户提交表单时,选择的值将被保存到数据库中。