Я использую область, чтобы отфильтровать условия для определенных c пользователей, я назначил курс учителю, и когда этот учитель входит в свою учетную запись, я только хочу, чтобы этот учитель просматривал их курс, хотя мой метод области видимости не ' кажется, работает правильно. Я не получаю ошибку, поэтому я не уверен, где я ошибся. Я добавил немного своего кода ниже, я был бы очень признателен за любую помощь. Спасибо
Метод индекса CoursesController;
public function index()
{
$courses = Course::ofTeacher()->get();
return view('admin.courses.index')->with('course', $courses); //pass data down to view
}
Course.php;
<?php
namespace App;
use Illuminate\Support\Facades\Auth;
use Illuminate\Database\Eloquent\Model;
class Course extends Model
{
protected $fillable = [
'id', 'title'
];
public function courses(){
return $this->belongsToMany('App\User');
}
public function teachers() {
return $this->belongsToMany(User::class, 'course_user')
}
public function scopeOfTeacher($query)
{
if (!Auth::user()->isAdmin()) {
return $query->whereHas('teachers', function($q) {
$q->where('user_id', Auth::user()->id);
});
}
return $query;
}
}
User.php;
public function isAdmin() {
return $this->role()->where('role_id', 1)->first();
}