[英]Laravel5 : Calling a static method on eloquent model not working
我在User
模型中有一个静态方法。
namespace Tol;
...
class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
...
public static function signup(array $data)
{
$user = new User([
'email' => $data['email'],
'password' => Hash::make($data['password']),
'username' => $data['username'],
'type' => $data['type'],
]);
$user->save();
if ($user && $user->id) {
$profile = new UserProfile([
'first_name' => trim($data['first_name']),
'last_name' => trim($data['last_name']),
'gender' => $data['gender'],
]);
$user->profile()->save($profile);
EmailVerification::sendTo($user, 'signup');
}
return $user;
}
...
}
而且我正试图从我的控制器中调用此方法。 像这样
$user = User::signup($input);
并引发如下错误:
我不知道为什么将它作为Builder类的方法引用。 代码非常简单,Laravel 4时一切正常。
请帮忙。 谢谢
您的代码应该没有问题,恐怕问题出在您的auth.php文件中,请确保
'model' => 'App\User',
根据您的情况将其设置为模型文件
'model' => 'Tol\User',
并确保您调用正确的文件,您可能需要尝试一下
\Tol\User::signup($array);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.