【发布时间】:2021-10-31 03:22:06
【问题描述】:
我正在使用 laravel 8,需要从表单选择的数据中选择数据,并在我的 ServClinic 表上仅插入 Clinic_id 和 Service_id 这是我的模型 需要从多对多关系中保存数据并进一步获取数据 我的诊所模型
<?php
class Clinic extends Model
{
use HasFactory;
protected $table = "clinics";
public function services(){
return $this->belongsToMany(ServiceData::class,'serv_clinics');
}
}
和 我的服务数据模型
<?php
class ServiceData extends Model
{
use HasFactory;
protected $tabel = "service_data";
public function clinic(){
return $this->belongsToMany(Clinic::class,'serv_clinics');
}
}
和 服务诊所模型
<?php
class ServClinic extends Model
{
use HasFactory;
protected $tabel ="serv_clinics";
}
视图是
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-4 pb-2 mb-3 border-bottom">
<h1 class="h2">اضافة خدمة بالعيادة</h1>
</div>
@if(Session::has('message'))
<div class="alert alert-success" role="alert">{{Session::get('message')}}</div>
@endif
<form class="form-horizontal" wire:submit.prevent="storeServices">
<div class="form-group">
<label class="col-md-4 control-label">اختار العيادة</label><br/>
<div class="col-md-4" wire:ignore>
<select class="sel_categories form-control" name="clinics[]">
@foreach($clinics as $clinic)
<option value="{{$clinic->id}}">{{$clinic->name}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">اختارالخدمات</label><br/>
<div class="col-md-4" wire:ignore>
<select class="form-control" name="services[]" multiple="multiple">
@foreach($services as $service)
<option value="{{$service->id}}">{{$service->name}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label"></label>
<div class="col-md-4">
<button type="submit" class="btn btn-primary">حفظ</button>
</div>
</div>
</form>
</main>
需要获取clinic_id和serve_id并保存在ServClinic表中 我的迁移文件是
public function up()
{
Schema::create('serv_clinics', function (Blueprint $table) {
$table->id();
$table->bigInteger('clinic_id')->unsigned();
$table->bigInteger('serve_id')->unsigned();
$table->timestamps();
$table->foreign('clinic_id')->references('id')->on('clinics')->onDelete('cascade');
$table->foreign('serve_id')->references('id')->on('service_data')->onDelete('cascade');
});
}
【问题讨论】:
标签: php bootstrap-4 laravel-8 laravel-livewire