51 Commits
Author SHA1 Message Date
isaackaara 3d8fccd700 fix: correct indentation in camel case config comment block (#1767)
The 'Support for camel cased models' comment block used 5-space
indentation for the pipe characters instead of the standard 4 spaces
used by all other comment blocks in the config file.

Fixes #1761
2026-03-04 10:48:05 +01:00
Pieter Willekensandlaravel-ide-helper fd3cfbe09d feat(ModelsCommand): add configuration option to disable model query methods (#1692)
* feat(ModelsCommand): add configuration option to disable model query methods

* composer fix-style

* update comment

* revert whitespace changes

* composer fix-style

* composer fix-style

---------

Co-authored-by: laravel-ide-helper <[email protected]>
2026-02-11 11:45:10 +01:00
Barry vd. Heuvel cff155b0d3 Replace psalm with larastan (#1755)
* Use larastan instead of psalm

* Fix cs

* Fix baseline
2026-02-07 14:32:53 +01:00
Evan Burrell b0dcd7c62f Make Soft Deleted Relationships Nullable (#1749) 2026-01-11 14:34:18 +01:00
erikn69andJoel Stein 8d00250cba Add magic *_exists properties (#1712)
* Added magic `*_exists` properties.

* fix return datatype

* disabled by default

---------

Co-authored-by: Joel Stein <[email protected]>
2025-07-17 22:11:57 +02:00
laravel-ide-helper ae0a06d406 composer fix-style 2025-05-15 07:57:32 +00:00
erikn69 e0b2f86326 Configurable macro return type defaults (#1711) 2025-05-15 09:56:31 +02:00
erikn69 c775aec1bb Revert #1629 - _Allow adding custom Macroable classes_ (#1707)
* Revert #1629 - Allow adding custom Macroable classes

* Add Macros test
2025-05-14 20:21:17 +02:00
Barry vd. Heuvelandlaravel-ide-helper 299a81b9bb Convert auth() helper to use Auth facade (#1656)
* Convert auth() helper to use Auth facade

* composer fix-style

---------

Co-authored-by: laravel-ide-helper <[email protected]>
2025-01-08 13:50:47 +01:00
laravel-ide-helper 154300fb06 composer fix-style 2025-01-01 12:17:43 +00:00
Mathieu TUDISCOandBarry vd. Heuvel 05d9c3cd65 Allow adding custom Macroable classes. (#1629)
* Allow adding custom Macroable classes.

* Remove duplication, tweak config

* Remove test

---------

Co-authored-by: Barry vd. Heuvel <[email protected]>
2025-01-01 13:17:20 +01:00
Jeramy Hing 472c1bad5d Feature: Add Config Option to Enforce Nullable Relationships (#1580)
* feat: add config option for nullable relationships

Introduce enforce_nullable_relationships configuration to control nullable Eloquent relationships.

* refactor: update logic for nullable relationships

Update isRelationNullable method to respect new config option.

* test: add tests for nullable relationship config

- Verify behavior of enforce_nullable_relationships configuration option.
- Create snapshot to reflect enforce_nullable_relationships set to false.

* docs: improve documented context and usage

* docs: update CHANGELOG with enforce_nullable_relationships option
2024-10-30 22:35:58 +01:00
Benedikt Franke 67c00c0978 Improve config file (#1564)
* Improve config file

- Terminate all descriptions with a dot .
- Update outdated descriptions
- Add missing examples

* Fix capitalizations
2024-07-12 15:58:21 +02:00
6579c0332b Remove doctrine (#1512)
* Remove doctrine

* Fix tests

* normalize composer.json

* Add back platform

* Bump integration versions

* composer fix-style

* Fix stability

* Bump minimum to 10.36

* Bump minimum to 10.38

* More types

* Fast fail off

* Bump docblock

* composer fix-style

* add bpchar

* Use match for type detection

Co-authored-by: Hafez Divandari <[email protected]>

* Use driverName

Co-authored-by: Hafez Divandari <[email protected]>

* fix match

* TWeak types

* Update snapshots

* Remove testbench 7

* composer fix-style

* Update src/Console/ModelsCommand.php

Co-authored-by: Hafez Divandari <[email protected]>

* Update src/Console/ModelsCommand.php

Co-authored-by: Hafez Divandari <[email protected]>

* Tweak bool

* Update src/Console/ModelsCommand.php

Co-authored-by: Hafez Divandari <[email protected]>

* composer fix-style

* Remove custom types, default to string

---------

Co-authored-by: barryvdh <[email protected]>
Co-authored-by: laravel-ide-helper <[email protected]>
Co-authored-by: Hafez Divandari <[email protected]>
2024-02-17 11:12:12 +01:00
Caleb White 6115100a0f Add support for composite keys (#1479)
* Add support for composite keys

* chore: add composite foreign key test
2024-02-08 07:42:27 +01:00
Taner KucukyurukandMarkus Podar f0e4cf5e78 Generics annotations support (#1298)
* option to use generics syntax, default to yes in laravel 9

* rename `use_generics_syntax` to `use_generics_annotations`

* update readme and changelog

* remove laravel 9 default override

* include key type in generics annotations

* readme rewording

* set `use_generics_annotations` to `true` by default

* update tests to reflect `use_generics_annotations` being set to `true` by default

* default `use_generics_annotations` setting to true when not set in config

Co-authored-by: Markus Podar <[email protected]>

---------

Co-authored-by: Markus Podar <[email protected]>
2023-01-28 16:48:05 +01:00
JefemyandMarkus Podar ee9188acf1 Implement new config to specify return type of custom relations (#1300)
* Implement new config to specify return type of custom relations

* Apply suggestions from code review

Co-authored-by: Markus Podar <[email protected]>

* add test for morphed

* fix test output

* add info about how to add custom relationships

* fix wording

Co-authored-by: Markus Podar <[email protected]>
2022-05-22 20:07:54 +02:00
Wim Reckmanandlaravel-ide-helper c733bde1ea Move default models filename to config (#1241)
* Move default models filename to config

* Add default value when getting models helper filename from config

* composer fix-style

Co-authored-by: laravel-ide-helper <[email protected]>
2021-08-10 07:12:56 +02:00
Madalin IgniscaandMarkus Podar c82529babd Update config/ide-helper.php
Let's hope users know to switch to the version locked by composer.

Co-authored-by: Markus Podar <[email protected]>
2021-04-13 11:46:59 +02:00
Madalin Ignisca 7cf8a51a8b Fix link to DBAL types
Documentation has been moved, old reference landing on 404.
Pointed to 2.x as for the moment we end up with 2.x because of many other package dependencies.
2021-04-12 06:50:05 +02:00
wimskiandlaravel-ide-helper f0c138c4fd Model hooks (#945)
* Model hooks

* composer fix-style

* Fix test for ModelHooks

Co-authored-by: laravel-ide-helper <[email protected]>
2021-03-29 20:49:09 +02:00
netpok 202395b50f Auto generate models (#1163)
* Add illuminate/events as suggestion

* Add post migration to config

* Add listener to generate model helper

* Add event listeners if enabled

* Fix config file format

* Add docblock for shouldRun flag

* Allow running multiple commands after migrations

* Simplify config

* Change default value
2021-03-15 18:57:20 +01:00
Markus Podar ae5d7708b7 Remove format and broken generateJsonHelper (#1053)
The JSON generate doesn't work, always generates an empty list.

I looked a bit around and seems changes around 3 years ago broke it.

Since there was no bug report ever about this, I conclude this feature
isn't used and suggest to remove it.

This also changes the config `filename` as there's no need for the
extension-less version and the format is gone too. This change is
backwards compatible as we just add back the `.php` in case it's missing
though users are encouraged to update it.
2020-12-04 09:54:50 +01:00
Kaloqn db53e8e2b5 Add support for dedicated eloquent builders and type/doc parameter support. (#1089)
* Add support for generating helpers for external eloquent builders

* Extract external builder methods generator to its own method and add an option to toggle this feature

* Check if we are using the default name of the eloquent builder

* Add tests with snapshots for external eloquent builder feature

* Refactor codegs

* Allow for type hinting

* Update test

* Run cs fix

* Update readme

* Use getName for parameter instead of relying on __toString()

* Do not use str_contains and use built in php method
2020-12-04 07:36:08 +01:00
Igor Finagin fd4d280a80 [LARAVEL 8] include_factory_builders does not work anymore (#1047) (#1049)
* [LARAVEL 8] include_factory_builders does not work anymore (#1047)

* Change skip expression
Append comment about deprecated to config file
Append comment about deprecated to README file
2020-09-20 08:36:35 +02:00
efinder2andMarkus Podar 7305504c99 Created a positiblity to add custom relation type (#987)
* Created a positiblity to add custom relation type

* Changed access modifier

Co-authored-by: Markus Podar <[email protected]>

* fixed hints from code review

* Added Test for https://github.com/barryvdh/laravel-ide-helper/pull/987

* composer fix-style

* Clarify doc in config entry

* Update CHANGELOG.md

Co-authored-by: Markus Podar <[email protected]>
2020-09-08 07:18:43 +02:00
Markus PodarandBarry vd. Heuvel 764bc02b84 [CODESTYLE] Replace phpcs with php-cs-fixer (#1030)
* composer require --dev friendsofphp/php-cs-fixer:^2

* php-cs-fixer: ignore cache and custom local config file

* php-cs-fixer: initial config

* php-cs-fixer: replace commands in composer

* php-cs-fixer: add PSR12 "as good as it currently gets"

* php-cs-fixer: apply PSR12 to codebase

* tests: add workaround to keep unused imports for snapshot testing

* php-cs-fixer: apply no_unused_imports

* php-cs-fixer: apply array_syntax short

* php-cs-fixer: apply single_quote

* php-cs-fixer: switch ordered_imports sort_algorithm to alpha

Let's be opinionated here for consistency

* php-cs-fixer: split between non-tests and tests and share config

* php-cs-fixer: apply declare_strict_types for tests

* php-cs-fixer: apply fully_qualified_strict_types

* php-cs-fixer: apply space_after_semicolon

* php-cs-fixer: apply trailing_comma_in_multiline_array

* php-cs-fixer: apply trim_array_spaces

* php-cs-fixer: apply unary_operator_spaces

* php-cs-fixer: apply whitespace_after_comma_in_array

* php-cs-fixer: apply native_function_invocation

* php-cs-fixer: apply concat_space

* grumphp: reflect we're using phpcsfixer now

* composer remove --dev squizlabs/php_codesniffer

* gha: simplify fix-style approach

Not really necessary to remove packages and then manually prevent
unrelated commits creeping in

Co-authored-by: Barry vd. Heuvel <[email protected]>
2020-09-01 11:32:31 +02:00
edvordo a96add6981 update(config/model command): add option to force usage of FQN + tests (#1031) 2020-09-01 09:11:12 +02:00
Markus Podar ba95d18ef5 [PHPCS] Extend to check/fix all source code and turn GHA into auto-commit fixer (#1003)
* phpcs: enable also for config, resources and tests

* composer fix-style

* vendor/bin/phpunit -d --update-snapshots

* gha: instead of checking the style, fix and auto-commit it 💪
2020-08-10 10:22:48 +02:00
Markus Podar 9562bf59d9 Improve readme in certain areas (#980)
* readme: sublime command has been removed

Was removed in https://github.com/barryvdh/laravel-ide-helper/pull/976
as it was already deprecated for 7 years.

* readme: old link only redirects, use the destination link directly

* readme: mention that the default _ide_helper.php name can be changed

* readme: document `meta_filename` and hint it can be written into a special subdirectory

* readme: remove hint about \Eloquent or `@mixin`, as the latter is automatically added nowadays

* readme: update how the current phpdoc looks like

* readme: document `write_model_magic_where`

* readme: document `write_model_relation_count_properties`

* readme: document `custom_db_types`

* readme: clarify installation regarding auto-discovery vs. manual

* readme: mention to avoid caching the config in dev

Inspired by https://github.com/barryvdh/laravel-ide-helper/issues/832
2020-06-28 08:57:22 +02:00
Luka Schäfer cca99b6d25 Make writing relation count properties optional (#969)
* Make writing relation count properties optional

* Clean up description

* Add test for write_model_magic_where=false

* Add test for write_model_relation_count_properties=false
2020-06-23 22:27:43 +02:00
Markus Podar b7197aec89 Document that model_locations/dir now supports glob (#925)
Feature was added with https://github.com/barryvdh/laravel-ide-helper/pull/921
2020-04-22 21:20:09 +02:00
Pataar 0692626c41 Add ignored_models as config option (#890)
* Add ignored_models as config option

* Add README.md entry

* Add tests

* Change name of test class

* Add Ignored to the return values from the mocked filesystem

* Improve test speed by adding prestissimo

* Revert "Improve test speed by adding prestissimo"

This reverts commit 246a9f2a78.
2020-03-10 12:18:29 +01:00
Chris Morrell 6c8e847430 Add support for factory()->create() return types (#758)
* Revert "Forked release"

* Initial factory builder support

* Oops — fixed tabs

* Revert "Forked release"

* Whitespace

* Reverted more code

* Whitespace

* More whitespace

* Fixed PHPCS line
2019-10-01 20:18:19 +02:00
Kevin Bond 0edf8f750e remove monolog configuration (fixes #818) (#820) 2019-09-03 19:49:46 +02:00
Johan van Helden 1b15d2930b fix the identation in the config (#817) 2019-08-31 12:53:08 +02:00
Tim Philips d00600d769 Include DocBloc’s from classes to allow deeper code inspection (#745)
* Add support to include DocBloc’s from classes to allow further code inspection

* Adjust for PSR2

* Additional fix for PSR2
2019-01-28 21:38:57 +01:00
Patrick 2f8283a746 Optionally write missing Laravel Model DocBlock (#700)
* Fix missing doc-block.

* Fixes a bug where a missing DocBlock caused errors.

* Change Option Shorthand to W
Because it is not allowed to have two char shorthands for options.

* Revert code refactoring.

* Fix copied config header.
2018-12-19 13:10:53 +01:00
Mike b6f525b320 Use Illuminate\Support\Carbon instead of Carbon\Carbon in config/ide-helper.php 2017-12-27 17:26:16 -05:00
Chris Morrell 55c9bfc33b Allow for configurable meta filename (#553) 2017-08-28 13:37:22 +02:00
Ivan Boldyrev 144a50e8ee Add disable write magic methods on models (#466)
* Add desable write magic methods on models

* Fix property name

* Opps commit

* Fix

* Change default parameter of property
2017-03-16 11:46:50 +01:00
Jackey Cheung 105f14a50d Add Fluent helpers (using config option) (#404)
* add fluent option to Generator

* add fluent to helper output

* add fluent option to config

* typo
2016-11-15 09:21:23 +01:00
Andrew Ellis b75f879383 uncommented defaults 2016-08-24 14:23:02 -06:00
Andrew Ellis e938cd3a31 added missing comma 2016-08-19 12:25:22 -06:00
Andrew Ellis f8c6ec95f6 allow a user to define the type overrides 2016-08-19 12:20:34 -06:00
Stephen Rees-Carter a72cd81e5f Allow for camel case model properties. 2016-03-03 21:36:10 +11:00
Barry vd. Heuvel e3de462538 Resolve user model at runtime
Fixes #274
2015-10-22 14:26:11 +02:00
Vladislav Rastrusny 8378f1bd67 Adding custom DB types support for models 2015-03-03 13:02:47 +03:00
Matt Wells 7917ba911f Authenticatable Contract for User model 2015-02-17 10:54:52 +00:00
Barry vd. Heuvel c0aaabb6d7 Update config 2015-01-28 10:02:50 +01:00