Laravel - мой метод видимости не работает - PullRequest
0 голосов
/ 11 марта 2020

Я использую область, чтобы отфильтровать условия для определенных 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();
}
...