BadMethodCallException 是一个异常类,表示调用了一个不存在的方法。

8 浏览
0 Comments

BadMethodCallException 是一个异常类,表示调用了一个不存在的方法。

当我想创建一个录音时,为什么会出现这个错误信息?\n\"enter\n

\nBadMethodCallException in => C:\\wamp64\\www\\exemple\\vendor\\laravel\\framework\\src\\Illuminate\\Support\\Traits\\Macroable.php line 74:\n 方法validate不存在。\n

\n我不明白问题出在哪里?\n控制器 - 学生\n

public function index()
    {
        $students = Student::oldest()->paginate(5);
        return view('admin.students.index', compact('students'))
          ->with('i', (request()->input('page',1) -1)*5);
    }
    /**
     * 显示创建新资源的表单。
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('admin.students.create', compact('students'));
    }
    /**
     * 将新创建的资源存储到存储器中。
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $request->validate([
                'name' => 'required',
                'firstname' => 'required'
        ]);
       $exists = Student::where('name', $request->get('name'))->where('firstname', $request->get('firstname'))->count();
       if (!$exists){
            Student::create($request->all());
            return redirect()->route('students.index')
                ->with('success', '新数据创建成功');
        }
        else{
            return redirect()->route('students.index')
                ->with('error', '重复数据');
        }   
    }

0
0 Comments

BadMethodCallException是一种异常类型,表示方法调用错误。它的出现通常是由于调用了一个不存在的方法或不可访问的方法。下面是一个关于BadMethodCallException的例子:

尝试以下代码,将request替换为this:

$this->validate([
      'name' => 'required',
      'firstname' => 'required'
]);

出现BadMethodCallException的原因是在代码中调用了一个不存在的方法validate。这可能是因为在当前对象中没有定义validate方法,或者该方法被设置为私有或受保护。

要解决这个问题,可以采取以下几个步骤:

1. 确保在当前对象中定义了validate方法。如果没有定义,需要添加对应的方法。

2. 检查validate方法的访问权限。如果validate方法被设置为私有或受保护,需要将其更改为公共方法,以便在其他地方可以访问到。

3. 确保正确调用validate方法。在上述示例中,validate方法被调用时使用了$this->validate([...])的方式。确保$this指向正确的对象,并且validate方法确实存在于该对象中。

通过以上步骤,可以解决BadMethodCallException异常。如果仍然出现该异常,请检查代码中是否还存在其他类似问题的方法调用错误。

0