这是我的代码
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller {
use ResetsPasswords;
public function postReset(Request $request){
// do some stuff
// ...
return parent::postReset($request); // <-here is the problem
}
方法postReset
出现在ResetsPasswords
中,但我写的代码是在Controller
类中寻找此方法。
有什么想法吗?
答案 0 :(得分:3)
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller {
use ResetsPasswords {
ResetsPassword::postReset as traitPostReset;
};
public function postReset(Request $request){
// do some stuff
// ...
return $this->traitPostReset($request);
}
}
答案 1 :(得分:1)
parent::postReset($request)
发出致命错误的原因是因为其父Controller
类没有postReset
方法。在这种情况下,即使特征具有postReset()
方法的实现,该特征也不被视为父母。
要解决此问题,您可以为其命名:
class PasswordController extends Controller
{
use ResetsPasswords;
public function postResetPassword(Request $request) // <- giving it a different name
{
// do some stuff
// ...
return $this->postReset($request); // and calling ResetsPasswords::postReset
}