2015-04-01 108 views
-1

如何顯示作者姓名的書籍?
這裏是我的模型:laravel 5作者姓名顯示書籍

book.php中

public function authors() 
{ 
     return $this->belongsTo('App\Author'); 
} 

Author.php

public function books() 
{ 
     return $this->hasMany('App\Book'); 
} 

我的控制器:

BookController.php

use App\Author; 


public function index() 
{ 
    foreach (Book::with('authors')->get() as $book) 
    { 
     echo $book->authors->name; 
    } 
} 

錯誤

試圖讓非對象的屬性

請幫助可能是什麼問題?

+0

儘管雄辯很聰明,但我總是發現在關係中定義外鍵使得它們更可靠。順便說一句,如果你使用'belongsTo()',你的書模型中的'authors()'不應該是單數嗎? – Joe 2015-04-01 09:45:46

+0

感謝它改變後它工作單數...偉大 – sanu 2015-04-01 11:59:38

回答

1

您的代碼將只顯示每本書的作者姓名。

請使用此代碼返回所有書籍和作者。

public function index()  
{  
    $books = Book::with('author')->get(); 

    return $books; 
} 
+0

是的,我以前試過,但它顯示爲空作者 – sanu 2015-04-01 11:50:19

相關問題