Доступ к стержню внутри области

Я трачу почти один час на эту проблему. у меня есть User модель и Event модель, связанная с отношением ManyToMany (представляющим систему приглашений). Я сделал модель для сводного класса:

namespace App;

use Illuminate\Database\Eloquent\Relations\Pivot;

class Invitation extends Pivot
{
const PENDING = 0;
const ACCEPTED = 1;
const UNCERTAIN = 2;
const REFUSED = 3;
}

Это User модель:

class User extends Authenticatable
{
// Deleted useless things

public function events()
{
return $this->belongsToMany('App\Event')
->using('App\Invitation')
->withPivot('status')
->withTimestamps();
}
}

И Event модель:

class Event extends Model
{
public function guests()
{
return $this->belongsToMany('App\User')
->using('App\Invitation')
->withPivot('status')
->withTimestamps();
}

/**
* Return a list of guests who accepted the invitation.
*/
public function scopeAccepted($query)
{
return $query->wherePivot('status', Invitation::ACCEPTED);
}
}

Хотя это утверждение хорошо работает:
$event = Event::find(9)->guests()->wherePivot('status', Invitation::ACCEPTED)->get();

Метод scopeAccepted дай мне эту ошибку:
Call to undefined method Illuminate\Database\Query\Builder::accepted() с $event = Event::find(9)->guests()->accepted()->get();

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector