Как объявить переменную для использования для всех функций в Laravel 6 и выше laravel версии? - PullRequest
1 голос
/ 21 апреля 2020

Я хочу объявить переменную $ id

Этот идентификатор будет Auth :: id ()

Теперь, что будет apporach?

Код:

private static $id;

public function __construct()
{
   $this->id = Auth::id();
}

Но этот идентификатор недоступен из функции Query.

Invoice::where([
     ['userID', '=', $id],
     ['created_at', '=', $todayDate]
])->get();

Ошибка в этой строке: ['userID', '=', $ id],

неопределенная переменная $ id.

Спасибо за продвижение ..

Ответы [ 2 ]

1 голос
/ 21 апреля 2020
public function __construct()
{
   self::$id = Auth::id();
}
Invoice::where([
     ['userID', '=', self::$id],
     ['created_at', '=', $todayDate]
])->get();

Используйте ключевое слово self, это поможет

0 голосов
/ 21 апреля 2020
public function __construct(){
    self::$id = Auth::id();
}

ПРИМЕЧАНИЕ. Если в классе есть какая-либо static функция-член или переменная, мы не можем ссылаться на нее, используя $this.

. Просто используйте, как показано ниже

Invoice::where([
   ['userID'=>self::id],
   ['created_at'=>$todayDate]
])->get();
...