2017-02-18 178 views
1

我正在使用Laravel 5.4項目。我面臨一個問題。我想更多地瞭解這個問題。對象注入錯誤

下面的代碼正在工作。

PostController.php

<?php 

namespace App\Http\Controllers; 

use DB; 
use View; 
use App\Model\Book; 
use App\Model\Chapter; 
use App\Model\Post; 

class PostController extends Controller 
{ 
     public function index(Book $book,Chapter $chapter) 
     { 
      $books = Book::all(); 
      $posts = Post::get_post($book,$chapter); 

      $data = array(
       'posts'  => $posts, 
       'books'  => $books, 
       'section_id' => '' 
      ); 

      return View::make('posts')->with($data); 
     } 
} 

下面的代碼是創建錯誤 「解析錯誤:語法錯誤,意外 '$書'(T_VARIABLE),預計 '' 或 ')'

PostController.php

<?php 

namespace App\Http\Controllers; 

use DB; 
use View; 
use App\Model\Book; 
use App\Model\Chapter; 
use App\Model\Post; 

class PostController extends Controller 
{ 
     public function index(Book $book,Chapter $chapter) 
     { 
      $books = Book::all(); 
      $posts = Post::get_post(Book $book,Chapter $chapter); //issue is in this line 

      $data = array(
       'posts'  => $posts, 
       'books'  => $books, 
       'section_id' => '' 
      ); 

      return View::make('posts')->with($data); 
     } 
} 

爲什麼會出現這個錯誤?

+0

公共職能指數(Book $ book,Chapter $ chapter)()在這個函數中從你的geetting $ book – Sona

+0

我從模型中獲得這個'$ book'。謝謝 –

+0

如果你正在調用模型,所以不需要再次通過.. – Sona

回答

0

這一行的問題:

$posts = Post::get_post(Book $book,Chapter $chapter); //issue is in this line 

是,當你調用函數你不輸入提示的類型。你應該像這樣運行功能:

$posts = Post::get_post($book, $chapter); 

是的,你聲明get_post功能是這樣的:

public static function get_post(Book $book,Chapter $chapter) 
{ 
    // do whatever you want here 
} 

但現在,當你打電話你不使用BookChapter