Commit Graph
136 Commits
Author SHA1 Message Date
Markus Podar 0d1dd2182b Add support for custom date class via Date::use() (#859)
Laravel 5.8 introduced a feature to support a custom date class via
`Date::use()`, see https://github.com/laravel/framework/pull/25320

When e.g. using `Date::use(CarbonImmutable)` in a project, it means
all date casts are not returning `\Illuminate\Support\Carbon` anymore
but `\Carbon\CarbonImmutable`, which means all the generated type hints
for dates are now wrong.

This change tries to be still backwards compatible with Laravel < 5.8
which do not have the Date facade.
2019-12-28 14:33:08 +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
cxlblm 25b61c56fe __toString function has been DEPRECATED (#801)
* __toString function has been DEPRECATED

__toString function has been DEPRECATED as of PHP 7.1.0

* remove code

remove code
2019-09-17 07:08:26 +02:00
Alex 428d32cebd Add hasOneThrough to ide-helper:models (#807)
Added missing relation type.
2019-09-16 14:33:30 +02:00
Matthew Hailwood 51a72d7766 [PSR-12] Update param type array to use short array syntax (#828)
* Update Param type array to use short array syntax (PSR-12)

* Update Param type array to use short array syntax (PSR-12)
2019-09-16 11:52:59 +02:00
Barry vd. Heuvel 8740a9a158 Fix CS 2019-09-08 11:56:38 +02:00
liquid207 d344cdc842 Fix phpcs (#803) 2019-09-08 11:55:17 +02:00
Mandy Schoep 5e411ef104 Do not added instances of a anonymous class to the phpstorm_meta file (#806) 2019-09-08 11:46:25 +02:00
Matthew Hailwood 3668e3821a Add support for custom cast classes (#816)
* Add support for custom cast classes

* Fix unrelated code style warning.
2019-08-30 07:32:01 +02:00
Stanislas cd2a71d43c ModelsCommand: Remove question mark (#812)
Sorry this is a bit nitpicky 😅
2019-08-06 07:54:53 +02:00
edvordo c9132b28a6 Chages to x2Many relationships detection & adds relationship_count docBlock comment (#783)
* x to Many relationships are detected via a `Many` keyword in the relationship object class name
   * reason: example: `belongsTo` was incorrectly recognized as `belongsToMany`
 * adds `@property-read int|null $x2Many_relationship_method_name_count` model class docBlock comment
   * when model makes use of `withCount` or `loadCount` there is a property on the resource `$instance->relationship_method_count` that states the count of related models
   * can be `NULL` when `withCount` or `loadCount` aren't used
2019-06-18 16:38:42 +02:00
Guilherme Pressutto 8ab6e0536b Fixed meta not working with app()->makeWith() (#791) 2019-05-29 17:09:57 +02:00
leo108 9ef14f83be use Throwable instead of Exception (#779) 2019-03-27 05:56:31 +01:00
Brent Roose 39c148ad42 Support for custom builder classes (#782) 2019-03-26 11:38:22 +01:00
Matthew Brown 725711022b Make autoload exception more specific (#777)
This is a nice-to-have ([as I'm currently overriding it](https://github.com/psalm/laravel-psalm-plugin/commit/a700c89061d151d1c08851abd93d834f9183534d)), but might help other packages.
2019-03-05 10:24:51 +01:00
neoteknic 881f77156c Fix php 7.3 bug (#772) 2019-03-02 15:15:16 +01:00
neoteknic 0fad511954 Fix Bug PHP 7.3 & L5.8 (#774)
add cast (string) to disable bug ($type can be null)
2019-03-02 15:14:46 +01:00
edcoreweb bcb881b20d Nested relations detection. (#763) 2019-02-03 16:59:09 +01:00
hubertnnn 32df0a3bc6 Fix: Parametrized relationships prevent generation of metadata (#719) 2018-12-19 13:11:08 +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
Brent Roose e7d4cb322f Update ModelsCommand.php 2018-09-07 10:29:59 +02:00
Brent Roose 5318f485e2 Add ::query support 2018-09-07 10:27:20 +02:00
Barry vd. Heuvel 7db1843473 Remove Eloquent mixin thing 2018-09-06 20:41:09 +02:00
Jonas De Smet e1d1352ac5 bugfix - Space/Enter between starting php tag and comment for PHPStan 2018-06-19 14:59:59 +02:00
Jan Alfred Richter 217b8989c2 Added support for abstract/final models. 2018-05-31 15:39:22 +12:00
Jeppe Knockaert 93630fdf62 Only skip non-models when generating docs
The fix made in PR https://github.com/barryvdh/laravel-ide-helper/pull/614 for issue https://github.com/barryvdh/laravel-ide-helper/issues/253 was incorrect as it resulted in comments
no longer being generated for Models that are not Pivot Rlations.

This PR allow comments to be generated for both Pivot Models (as they are
a subclass of Eloquent\Model) and normal Models.
2018-05-24 11:43:03 +02:00
Huy Dang ba28841870 fix case relation method has parameter 2018-05-22 13:26:27 +07:00
Barry vd. Heuvel 94248adae8 Merge pull request #600 from mike-grinspan/patch-1
Use Illuminate\Support\Carbon instead of Carbon\Carbon
2018-05-07 11:44:40 +02:00
Barry vd. Heuvel 50ecd8b815 Update CS, typo 2018-05-07 11:38:57 +02:00
Barry vd. Heuvel b8a73bcab9 Merge pull request #581 from soltmar/master
Changed overwriting confirmation message
2018-05-07 11:23:06 +02:00
Barry vd. Heuvel be78ac62cd Merge pull request #589 from mfn/patch-1
Keep "null"-ness of column even with model casts
2018-05-07 11:21:47 +02:00
Barry vd. Heuvel bbd96d3616 Merge pull request #609 from lx1036/patch
Sort keys for generating stable .phpstorm.meta.php
2018-05-07 11:17:33 +02:00
Barry vd. Heuvel 8d913089db Merge pull request #614 from WickedSik/master
Allow command to find and use pivot models
2018-05-07 11:17:07 +02:00
Barry vd. Heuvel e7fa36bdc3 Merge pull request #629 from bedezign/smart-reset
"smart-reset": Reset properties/methods, but keep the text
2018-05-07 11:15:59 +02:00
Barry vd. Heuvel f5275b700a Merge pull request #632 from JeppeKnockaert/feature/add-morphedByMany-relation
Add morphedByMany relationship
2018-05-07 11:13:27 +02:00
Barry vd. Heuvel 046a9bcc77 Merge pull request #647 from eidng8/eidng8-suppress-formatter
suppress PHPStorm formatter
2018-05-07 11:10:25 +02:00
Tom Rochette b1b05b694b Remove dependecy to Symfony\Component\ClassLoader\ClassMapGenerator and replace it with Composer\Autoload\ClassMapGenerator. 2018-05-03 16:02:16 -04:00
Jackey Cheung c7b7ebf1b5 suppress PHPStorm formatter 2018-03-21 11:36:02 +08:00
Jeppe Knockaert 17982029f0 Move long one-line array to multiple lines 2018-02-14 12:15:38 +01:00
Jeppe Knockaert bda5120e9a Add morphedByMany relationship 2018-02-14 12:06:45 +01:00
Steve Guns d961482d22 Fixed PHPCS PSR2 issues 2018-02-14 08:59:19 +01:00
Steve Guns 8852b1ca9d Added "smart-reset": Reset properties/methods, but keep the docBlock text, if any 2018-02-11 19:09:33 +01:00
Jurrien Dokter 7b2786ac2b Fixing issue #253 2018-01-27 13:01:07 +01:00
Xiang Liu 7b067198a6 Sort keys for generating stable .phpstorm.meta.php 2018-01-15 12:44:44 +08:00
Mike df6b1b6f82 Use Illuminate\Support\Carbon instead of Carbon\Carbon 2017-12-27 17:17:00 -05:00
Markus Fischer 76a1952c41 Keep "null"-ness of column even with model casts
A cast in Laravel should only affect the type, but not the database intrinsics whether a column accepts `null` or not.

As an example, consider this table (Postgres syntax):
```sql
CREATE TABLE foo (
  some_column jsonb
);
```
This will be generated as: `@property string|null $some_column`

When providing a the following casts on the model:
```php
protected $casts = [
  'some_column' => 'array',
];
```
then the generated property changes to: `@property array $some_column`

However the DB still accepts `null`, but this can't be expressed via the casts.

This change will make the null "sticky" and generate: `@property array|null $some_column`
2017-10-28 18:01:18 +02:00
Mariusz b0abafb8c7 Changed overwriting confirmation message
When running php artisan ide-helper:models below message was presented:
"Do you want to overwrite the existing model files? Choose no to write to _ide_helper_models.php instead? (Yes/No):  (yes/no) [no]:"
This commit changes message to:
"Do you want to overwrite the existing model files? Choose no to write to _ide_helper_models.php instead? (yes/no) [no]:"
2017-10-11 11:43:16 +01:00
Subodh Dahal 01320a48e3 Bugfix: Undefined property: Barryvdh\LaravelIdeHelper\Console\MetaCommand::$config (#562) 2017-08-28 15:16:15 +02:00
Charles Peterson fedcb57295 Add an eloquent command (#544)
* Add an eloquent command for adding the `@mixin \Eloquent` to the Illuminate\Database\Eloquent\Model

* spacing updates...

* multi-line function call syntax

* Write helper mixin to Eloquent/Model after helper created

* Cleanup into helper - similar to Generator

* syntax cleanup
2017-08-28 15:12:54 +02:00
Chris Morrell 55c9bfc33b Allow for configurable meta filename (#553) 2017-08-28 13:37:22 +02:00