* Add return type `|static` to Query\Builder methods (#1574)
* Replace return type Query\Builder with Eloquent\Builder (#1574)
* Replace return type Query\Builder only for facade Eloquent (#1574)
* Add special return type replacement for Macros of \Eloquent
* Restrict special return type to methods from Eloquent\Builder and Query\Builder
* Do not overwrite return type in normalizeReturn() with conditional call of setType()
* Use generic return type for builder methods in \Eloquent
* composer fix-style
---------
Co-authored-by: laravel-ide-helper <[email protected]>
* fix(pivot): only use unique classes in the pivot union (Fixes#1606)
* composer fix-style
---------
Co-authored-by: laravel-ide-helper <[email protected]>
* feat: support generics eloquent builder
* fix: required laravel version
* fix: ci execution is only for Laravel-11
* docs: add CHANGELOG
* docs: update supported Laravel versions and adjust output examples
* Add `\\static` as check
For some reason, the `static` keyword as a return type, does not return `isBuiltin()` === true, so a `\\` is added. We need to manually add it to the built in check.
* Update ModelsCommand.php
* Add tests
* Add CHANGELOG.md entry
---------
Co-authored-by: Markus Podar <[email protected]>
Co-authored-by: Barry vd. Heuvel <[email protected]>
In singlestore we define some strings as
$table->char($columnName, 40)->charset('binary')->collation('binary');
In singelstore, this becomes 'BINARY(40)' instead of 'CHAR(40) CHARACTER SET 'binary' COLLATE 'binary'
This change would allow the generated proeperties to be 'string' instead of 'mixed', as using a string is correct in this case.
This snipet was lost in the 2.12.x => 2.13.x change. Needs to be reintroduced to allow those who use fully qualified db+table names. (Eg, `database.table`)
* Support generating helper files for real-time facades
Add changelog entry for real-time facades support
Mention real-time facades support in readme
Fix code style
Import
* Remove useless assertions
We cannot 100% control the output file has only the real-time facades, anything else can be in the final output
* add case when default value is of type enum
* Update CHANGELOG.md
* add tests for enum arguments default values
* ignore psalm issue (built-in `\UnitEnum` class does not exists in PHP7)
* Update run-static-analysis.yml to use PHP8.1
---------
Co-authored-by: Barry vd. Heuvel <[email protected]>
Co-authored-by: Barry vd. Heuvel <[email protected]>
* Add support for nikic/php-parser:^5
- `createForHostVersion` has been added to php-parse 4.18 so code can
run with both versions [1]
- therefore also bumped the minimum required version to it
Note:
The dev dependency vimeo/psalm is **not** compatible with
php-parser:^5 currently. This does not impact usages of this library,
but sometimes cause friction when working on this library.
For our CI this isn't a problem, because we already remove that
dependency before running the test suite.
[1] https://github.com/nikic/PHP-Parser/blob/master/UPGRADE-5.0.md#changes-to-the-parser-factory
* gha: prevent cancelling of all jobs if one fails
* Update CHANGELOG.md
* gha: remove unsupported Laravel / PHP combinations
According to https://laravel.com/docs/10.x/releases
* Add dbal:^4 too
* Add support for protected Attribute accessors
* Fix formatting
* Prevent accessors methods marked as private from being added
* Exclude specific accessors based on trait instead of class
* Add changelog entry
* Add clarifying comment
* Fix accessor attributes not working on PHP < 8.1
* Reintroduce method variable to reduce PR clutter
* Change variable name to reduce PR clutter
* Update CHANGELOG.md
---------
Co-authored-by: Barry vd. Heuvel <[email protected]>
Co-authored-by: Barry vd. Heuvel <[email protected]>