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 關注
- 172 瀏覽
添加回答
舉報