laravel 5 显示带有作者姓名的书籍

laravel 5 display books with author name

如何显示带有作者姓名的图书?
这是我的模型:

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;
    }
}

错误

Trying to get property of non-object

请帮助可能是什么问题?

您的代码将只显示每本书的作者姓名。

而是使用此代码 returns 所有有作者的书。

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

    return $books;
}