在向表中添加新元组时调用未定义的方法lluminate \ Database \ Query \ Builder :: username()

时间:2014-08-13 17:14:41

标签: laravel-4

我正在尝试在 Laravel4 中为我的UserRepository创建一个add()方法。存储库位于roBlog命名空间中。当我调用$user->username方法传递凭证数组的用户名成员时,应用程序会抛出错误:Call to undefined method Illuminate\Database\Query\Builder::username()

用户表示的表具有用户名属性。

我从Illuminate导入了Builder类。

有谁知道我为什么会收到这个错误?

namespace roBlog\repositories; 
use roBlog\User;          
use Illuminate\Database\Query\Builder;

class DbUserRepository implements UserRepositoryInterface { 

public function all()
{ 
    return User::all()->toArray();
}
public function add($credentials)
{
    $user = new User;
    $user->username($credentials['username']);
    $user->emai($credentials['email']);
    $user->password(Hash::make($credentials['username']));
    $user->save();
}
public function remove($user){
    return $user->delete();
}
}

1 个答案:

答案 0 :(得分:1)

你必须:

public function add($credentials)
{
    $user = new User;
    $user->username = $credentials['username'];
    $user->email = $credentials['email'];
    $user->password = Hash::make($credentials['password']);
    $user->save();
}