如何为Eloquent模型定义类字段

时间:2015-04-07 07:43:07

标签: 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
...

}

1 个答案:

答案 0 :(得分:5)

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

/**
 * @property bool $registered is the user registered?
 */
class User extends Eloquent

事实上,@property注释具体为designed for magic properties

  

@property显示了一个"魔法"在类中找到的属性变量。