0
我一直在苦苦挣扎了一段时间,是一位经验不多的新开发人员。所以我正在研究一个处理药物和疾病的项目。存在多对多的关系。Laravel-处理数据透视表中的多个复选框
药物模型
public $timestamps=false;
public function disease()
{
return $this->belongsTo('App\Disease');
}
疾病模型
public $timestamps=false;
public function drug()
{
return $this->belongsTo('App\Drug');
}
我想创建一个使用形式在Disease_Drug透视表的关系。 form.blade.php
<label>Disease</label>
<select class="form-inline input-sm " name="disease" id="disease">
@foreach($diseases as $key => $disease)
<option value="{{$disease->id}}"> {{$disease->name}}</option>
@endforeach
</select>
<label>Drugs</label><br>
@foreach($drugs as $key=>$drug)
<input type="hidden" name="drug[]" value="0" />
<input class="checkbox-inline" type="checkbox" name="drug[]"value="{{ $drug->id }}" id="{{ $drug->id }}">{{ $drug->name }} <br>
@endforeach
<button type="submit" class="btn btn-primary">Submit</button>
我有一个disease_drug控制器
public function form()
{
$diseases = Disease::all();
$drugs = Drug::all();
return view('admin.form')
->with('diseases', $diseases)
->with('drugs', $drugs);
}
public function store(Request $request)
{
$diseases = $request->get('diseases.ids');
$drugs = $request->get('drugs.id', []); // Empty array by default if no checkbox checked.
$diseases->drugs()->sync($request->input('drugs', []));
}
我无法保存在数据库中的结果。我对此非常无能,所以善意地帮助我。