![](/img/trans.png)
[英]Laravel BelongsToMany Pivot Table : How to fetch selected columns
[英]Laravel How to get pivot table with selected option
我有 pivot 表
我希望根据数据库中的内容来选择它。
使用我在选定选项部分编写的代码,仅返回treatment_id 1 的值。 如何使用医生 ID 1 获得所有治疗?
treatment_doctor
id | treatment_id| doctor_id|
1 | 1 | 1 |
2 | 2 | 1 |
3 | 1 | 2 |
Treatment model
public function doctors()
{
return $this->belongsToMany(Doctor::class,'treatment_doctor','doctor_id','treatment_id')
}
Controller
$treatments = Treatment::with('doctors')->get();
blade
<select class="form-control" id="treatments" name="treatments[]" multiple="multiple">
@foreach($treatments as $treatment)
<option {{ collect($treatment->doctors->pluck('id')->toArray())->contains($treatment->id) ?
'selected' : '' }} value="{{ $treatment->id }}">{{ $treatment->name }}</option>
@endforeach
</select>
您可以通过在您的关系上调用->withPivot()
来包含 pivot 表中的数据
https://laravel.com/docs/9.x/eloquent-relationships#retrieving-intermediate-table-columns
要基于 pivot 表进行查询,您可以使用->wherePivot()
完整信息在这里https://laravel.com/docs/9.x/eloquent-relationships#filtering-queries-via-intermediate-table-columns
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.