我从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
...
}
答案 0 :(得分:5)
Eloquent的属性适用于内部attributes
数组,并依赖于神奇的__get()
和__set()
方法。但是,在定义变量时,永远不会调用它们。如何获得自动完成并记录属性只需将它们添加到docblock注释中:
/**
* @property bool $registered is the user registered?
*/
class User extends Eloquent
事实上,@property
注释具体为designed for magic properties:
@property显示了一个"魔法"在类中找到的属性变量。