-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Labels
Description
Versions:
- ide-helper Version: 3.1
- Laravel Version: 11.15
- PHP Version: 8.3
Description:
Additionally to issues like #1571, Laravel 11.15 also ruined some other _ide_helper.php methods (find, findOrFail, etc)
I think is related to laravel/framework#51851 and laravel/framework#52037
Before 11.15:
/**
* Find a model by its primary key or throw an exception.
*
* @param mixed $id
* @param array|string $columns
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static|static[]
* @throws \Illuminate\Database\Eloquent\ModelNotFoundException<\Illuminate\Database\Eloquent\Model>
* @static
*/ public static function findOrFail($id, $columns = [])
{
/** @var \Illuminate\Database\Eloquent\Builder $instance */
return $instance->findOrFail($id, $columns);
}
After 11.15:
/**
* Find a model by its primary key or throw an exception.
*
* @param mixed $id
* @param array|string $columns
* @return \Illuminate\Database\Eloquent\($id is (\Illuminate\Contracts\Support\Arrayable<array-key, mixed>|array<mixed>) ? \Illuminate\Database\Eloquent\Collection<int, TModel> : TModel)
* @throws \Illuminate\Database\Eloquent\ModelNotFoundException<TModel>
* @static
*/ public static function findOrFail($id, $columns = [])
{
/** @var \Illuminate\Database\Eloquent\Builder $instance */
return $instance->findOrFail($id, $columns);
}
Now for example this is wrong:
$pack = Pack::query()->findOrFail($packId);
Previous to 11.15: $pack: Pack|Pack[]|Builder|Builder[]|Collection|Model|null
After 11.15: $pack: |Collection|Model|null
I don't know if we have to do something to make it work again in our end.
Thanks
bmewburn, Shiroy, Sergiobop, jackwh, SebastianAwatramani and 7 more