2017-06-18 55 views
1

我得到一个Laravel 5.4版本调用未定义的方法Illuminate Database Query Builder :: quoutes()。什么是错误?

调用未定义的方法照亮\数据库\查询\生成器:: 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!' 
     ]); 
    } 
+3

我的猜测是你拼写错误的'引号()',但我不知道,因为你没有贴作者模型代码。 – Robert

回答

2
Author code: 
<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

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

你打错的电话报价的名字:

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

将其替换为:

$author->quotes()->save($quote); 
相关问题