【问题标题】:Laravel 5.4 version Call to undefined method Illuminate\Database\Query\Builder::quoutes(). What is the error?Laravel 5.4 版本调用未定义的方法 Illuminate\Database\Query\Builder::quoutes()。错误是什么?
【发布时间】:2025-11-26 04:25:02
【问题描述】:

我得到一个

调用未定义的方法 Illuminate\Database\Query\Builder::quoutes()

我的控制器内部的错误消息,这是我的控制器的样子:

我的 QuoteController.php:

class QuoteController extends Controller

{

    public function postQuote(Request $request)
    {
        $authorText = ucfirst($request['author']);
        $quoteText = $request['quote'];

        $author = Author::where('name', $authorText)->first();
        if (!$author) {
            $author = new Author();
            $author->name = $authorText;
            $author->save();
        } 

        $quote = new Quote();
        $quote->quote = $quoteText;
        $author->quoutes()->save($quote);

        return redirect()->route('index')->with([
            'success' => 'Quote saved!'
        ]);
  }

【问题讨论】:

  • 我猜你拼错了quotes(),但我不确定,因为你没有发布作者模型代码。

标签: php laravel laravel-5 laravel-5.4


【解决方案1】:
Author code:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Author extends Model
{
    public function quotes() 
    {
        return $this->hasMany('App\Quote');
    }
}

【讨论】:

    【解决方案2】:

    你把引号的名字叫错了:

    $author->quoutes()->save($quote);
    

    替换为:

    $author->quotes()->save($quote);
    

    【讨论】:

      最近更新 更多