Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel db没有播种,因为扩展了Eloquent的模型有一个构造函数。。。?_Php_Laravel_Laravel 4 - Fatal编程技术网

Php Laravel db没有播种,因为扩展了Eloquent的模型有一个构造函数。。。?

Php Laravel db没有播种,因为扩展了Eloquent的模型有一个构造函数。。。?,php,laravel,laravel-4,Php,Laravel,Laravel 4,因此,我有一个简单的种子程序,它只有User::create(array(…),但它不会种子,因为我的基本模型有一个构造函数: BaseModel extends Eloquent { protected $local_name; public __construct() { parent::__construct(); $this->locale_name = App::getLocale(); } 当我将字符串作为字段时,扩展基本模型的任何模型(例如User)都不会正确地

因此,我有一个简单的种子程序,它只有
User::create(array(…)
,但它不会种子,因为我的基本模型有一个构造函数:

BaseModel extends Eloquent {

protected $local_name;

public __construct()
{
  parent::__construct();
  $this->locale_name = App::getLocale();
}
当我将字符串作为字段时,扩展
基本模型的任何模型(例如
User
)都不会正确地进行种子设定。比如说:

User::create(数组('id'=>1,'foo'=>bar')

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


有人知道怎么了吗?构造函数中的内容无关紧要,同样的事情也会发生。

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

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

很难说没有看到您的用户模型,或者至少创建()。此外,“播种”在拉威尔是一个非常具体的概念。您是在谈论创建一个表/db还是创建一个新模型?用户只是开箱即用的用户。是的,我指的是播种一个数据库表。PHP新手,我应该总是在每个构造函数中设置
$attributes
,还是只为Eloquent?您是在扩展Eloquent,这就是为什么,您还实现了to model(以及与之相关的契约-illumb\database\Eloquent\model-)。这就是为什么,你必须在你的cunstruct方法中有它。