php - laravel如何通过多个表单向多个表中插入数据
问题描述
嗨,我是 laravel 的新手,我有 3 个表格,即客户、服务、联系人都有不同的表格,例如客户、服务、联系人,我需要在 laravel 的数据库中插入这些表格。
服务形式:
<form method="POST" action="{{ route('service.store') }}">
@csrf
<div class="input-w">
<label class="label-style">Service Type:</label>
<span><select class="form-control" required >
<option type="brillare">Brillare</option>
<option type="hair">Hair</option>
</select></span>
</div>
<div class="input-w">
<label name="service_name">Service Name:</label>
<span><input id="service_name" name="service_name" class="form-control" placeholder="Service Name" required ></span>
</div>
<div class="input-w">
<label name="service_price">Service Price:</label>
<span><input type="number" id="service_price" name="service_price" class="form-control" required placeholder="0000.00"></span>
</div>
<div align="center" class="button_style">
<p style="margin:15px -40px 20px 182px"><input type="submit" name="submit" id="submit_service" value="Submit" class="btn btn-outline-success"></p>
</div>
</form>
移民:
Route::get('/service', function () {
return view('service');
});
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ServiceTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('service', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('servicetype');
$table->string('servicename');
$table->string('serviceprice');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('service');
}
}
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ServiceController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
return view("service");
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request, Service $service)
{
//
$service->servicetype = $request->service_type;
$service->servicename = $request->service_name;
$service->serviceprice = $request->service_price;
$service->create();
return redirect()->route('service.show');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
我需要服务表单插入到服务表客户表单插入到客户表联系表插入到 laravel 5.8 中的联系表
解决方案
在这种情况下,您有 3 个实体。
- 顾客
- 服务
- 接触
对于所有 3 个实体,您都希望拥有一个模型、一个控制器和一个迁移。如果实体之间存在相互关系,您可以在模型中指定这些关系。查看链接以获取有关 laravel 中关系的更多信息。
https://laravel.com/docs/master/eloquent-relationships
当您在模型中建立关系后,就可以开始迁移到控制器了。
在控制器中,您将拥有以下功能:
public function index(Contact $model)
{
// return index view
}
public function create()
{
// return create form view
}
// Option 1
public function store(Request $request, Service $service)
{
$service->create($request->all);
return redirect()->route('your.route');
}
// Option 2
public function store(Request $request, Service $service)
{
$service->servicetype = $request->service_type;
$service->servicename = $request->service_name;
$service->serviceprice = $request->service_price;
$service->create();
return redirect()->route('your.route');
}
public function edit()
{
// return edit view
}
public function update(Request $request, Service $service)
{
$service->update($request->all);
//return view
}
public function destory(Service $service)
{
$service->delete();
// return view
}
推荐阅读
- azure-web-app-service - Microsoft Bot Framework Composer 中的自动电子邮件发送
- json - 在移动应用程序中获取帖子时,WordPress API 在图片前后出现奇怪的空白
- c - 1 EXTI 函数中的 2 个回调?
- cmake - [VSCode][CMake][clang-tidy] 错误:PCH 文件使用不再支持的旧 PCH 格式
- assembly - 两个十六进制内存地址之间区域中的字节
- swift - 翠鸟图像不随父视图的其余部分过渡
- sql-server - 为什么服务帐户无法引用其自己的默认架构?
- python - Selenium 根据网格坐标获取单元格
- android - 如何离线保存 Parser feed sqlite 数据库?
- python - 如何找到谷歌驱动器的特定文件ID?