From 9410f00cb5208eeccae77316ef72aa84daa7e919 Mon Sep 17 00:00:00 2001 From: "Barry vd. Heuvel" Date: Mon, 29 Apr 2013 16:21:57 +0200 Subject: [PATCH] Use return $this for some Eloquent So autocomplete uses the real model, not just the base Model. (Doesn't seem to work on Sublime) --- src/Barryvdh/LaravelIdeHelper/GeneratorCommand.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Barryvdh/LaravelIdeHelper/GeneratorCommand.php b/src/Barryvdh/LaravelIdeHelper/GeneratorCommand.php index c7f2e77..d4781e8 100644 --- a/src/Barryvdh/LaravelIdeHelper/GeneratorCommand.php +++ b/src/Barryvdh/LaravelIdeHelper/GeneratorCommand.php @@ -222,7 +222,11 @@ namespace {\n\tdie('Only to be used as an helper for your IDE');\n}\n\n"; $output .="\t * @param\t".implode($annotation->values, "\t")."\n"; } } - if($returnValue !== "void"){ + if(!$sublime && $root == 'Illuminate\Database\Eloquent\Model' && + in_array($method->name, array('fill', 'newInstance', 'newFromBuilder', 'create', 'find', 'findOrFail'))){ + //Reference the calling class, to provide more accurate auto-complete + $output .= "\t * @return \$this\n"; + }else{ $output .= "\t * @return ".$returnValue."\n"; } $output .= "\t */\n\t public static function ".$method->name."(";