Laravel db没有播种,因为扩展Eloquent的Model有一个构造函数......?

时间:2014-01-30 18:51:12

标签: php laravel laravel-4

所以我有一个只有User::create(array(...))的简单播种机,但它不会播种,因为我的基础模型有一个构造函数:

BaseModel extends Eloquent {

protected $local_name;

public __construct()
{
  parent::__construct();
  $this->locale_name = App::getLocale();
}

当我将字符串作为字段时,任何扩展User的模型(例如BaseModel)都不会正确播种。比如说:

User::create(array('id' => 1, 'foo' => 'bar'));

foo字段将为NULL,而id字段结果正常并存储整数。它发生在任何字符串上,只有我给它的字符串。

任何人都知道什么是错的?无论构造函数中的内容是什么,都会发生同样的事情。

1 个答案:

答案 0 :(得分:1)

构造函数必须将$attributes数组设置为默认值:

class BaseModel extends Eloquent {
    public function __construct($attributes = array())
    {
        parent::__construct($attributes);
        // your code
    }
}