User :: save()声明应与... \ Model :: save(array $ options = Array)兼容

时间:2014-08-05 17:42:11

标签: php laravel model eloquent

我是来自Codeigniter的Laravel的新手。

我正在尝试在save()模型中加载Users函数,最终将帖子数据插入users表。

但是我收到了错误

Declaration of User::save() should be compatible with …\Model::save(array $options = Array)

表单将在我的控制器中提交给此函数。

public function createUser () {
    $validator = Validator::make(
        array(
            'email' => Input::get('email'),
            'password' =>Input::get('password')
        ),
        array(
            'email' => 'required|email|unique:users',
            'password' => 'required|min:5|max:25'
        )
    );

    if ($validator->fails()) {
        echo 'fail';
    } else {
        $hashPass = Hash::make(Input::get('password'));

        //  input new row
        $user = new User(Input::except('Submit'));
        $user::save();
    }

}

我的用户模型是Laravel附带的标准模型,添加了以下行。 (我只是想让它打印一些东西。)

protected $fillable = array('email');

public function save ($user) 
{
    print_r($user);
}

我不确定我是否正确使用这些模型,但到目前为止我找不到任何帮助。

1 个答案:

答案 0 :(得分:1)

在以后的版本中可能会发生这种情况,因此您需要以以下方式声明保存功能:

public function save(array $options = [])
{
    // your before save code her

    if(parent::save($options)) {
      // your after save code here
    }
    // return boolean here
}