3 回答
TA贡献1864条经验 获得超6个赞
我在不改变模型的情况下解决了问题...就足够了
@foreach ($courses as $course)
<div class="form-check form-check-inline mb-2">
<input name="course_id[]" class="form-check-input" type="checkbox" value="{{$course->id}}" @foreach ($trainer->courses as $value)
{{($course->id == $value->pivot->course_id) ? 'checked' : ''}}
@endforeach>
<label class="form-check-label" for="course_id">{{$course->name_course}}</label>
</div>
@endforeach
TA贡献1963条经验 获得超6个赞
这是训练师模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Trainer extends Model
{
protected $fillable = ['name','surname','description','image'];
public function courses(){
return $this->belongsToMany(Course::class)->withTimestamps();
}
}
这是课程模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Course extends Model
{
protected $fillable = ['name_course','description_course','logo_course'];
public function trainers(){
return $this->belongsToMany(Trainer::class)->withTimestamps();
}
}
TA贡献1770条经验 获得超3个赞
这是训练师模型
public function courses(){
return $this->belongsToMany('App\Course', 'course_trainer ', 'trainer_id', 'course_id')->withTimestamps();
}
这是课程模型
public function trainers(){
return $this->belongsToMany('App\Trainer', 'course_trainer ', 'course_id', 'trainer_id')->withTimestamps();
}
belongsToMany() 方法4个参数,第一个是要链接的模型的位置,第二个是数据透视表的名称,第三个是当前模型的外键,第四个是另一个模型的外键。
现在,您可以在表单中执行以下操作
<input name="course_id[]" class="form-check-input" type="checkbox" @if($course->pivot->trainer_id == $trainer->id) "checked='' " @endif value="{{$course->id}}">
- 3 回答
- 0 关注
- 150 浏览
添加回答
举报