如何为Eloquent模型定义类字段

d7p*_*p4x 0 eloquent laravel-5

我从Yii和Codeigniter来到Laravel.并且找不到如何描述Eloquent模型的类字段的解决方案.我想知道这个类可用的变量.问题是当我尝试使用变量public =>时,此变量为空.如果我定义变量protected =>当我使用它时一切都很好,但是这个变量不适用于自动竞争(因为这个var受到保护).

谢谢!

class User extends Eloquent
{

...
protected $registered; // works, but not available
public $registered; // not works, always empty
var $registered; // not works, always empty
...

}
Run Code Online (Sandbox Code Playgroud)

luk*_*ter 6

Eloquent的属性与内部attributes数组一起使用,并依赖于魔法__get()__set()方法.但是,在定义变量时,永远不会调用它们.如何获得自动完成并记录属性只需将其添加到docblock注释中:

/**
 * @property bool $registered is the user registered?
 */
class User extends Eloquent
Run Code Online (Sandbox Code Playgroud)

事实上,@property注释是专为魔术属性设计的:

@property显示了在类中找到的"魔术"属性变量.