Laravelを使用中に、モデル内で$this->を使って当該モデルを参照しようとしたところ
Cannot use '$this' in non-object contextのエラーが出たので備忘録として対処法を残しておきます
結論からいうと当該モデルのgetUser()がインスタンス化されていないのでself::でアクセスするのが正解でした
Model.php
public static function getUser($ids){
return self::whereIn('id', $ids);
}
上記で$this->からself::に変更したらエラーが改善しました
Controller.php
public function index()
{
$searchResults = Model::getUser([1,2,3])->get();
return response()->json([
'search_results' => $searchResults,
], 200);
}
思考停止してしまって、インスタンス化など全く意識せずに何でもかんでも$this->を使っている状態だったので
はまってしまったエラーでした