两个表的相同模型

时间:2014-03-27 12:13:45

标签: laravel laravel-4

我在构造函数中的模型中设置了我的表的名称:

public function __construct($section, $attributes = array(), $exists = false){

    parent::__construct($attributes, $exists);

    $this->table = $section;
}

稍后在课堂上我使用这个方法:

public function getEdit($id){

    return $this->find($id);
}

但它失败了:

Missing argument 1 for MyModel::__construct()

我出错的任何想法?

1 个答案:

答案 0 :(得分:0)

如果您覆盖了另一个类提供的方法,则应将自己的参数作为可选参数添加到参数列表的末尾。原因是可能存在依赖于旧实现的代码。您不能指望它知道您的新实现,因此您必须将自己的东西添加到最后(并且是可选的,因为现有的实现不会提供它)。

因此,将构造函数更改为:

public function __construct($attributes = array(), $exists = false, $section = null){
    parent::__construct($attributes, $exists);
    $this->table = $section;
}

你应该发现它有效。显然你现在必须更新你的代码以传递$ seciton作为最后一个参数。