laravel 5显示作者姓名的书籍

时间:2015-04-01 08:46:59

标签: relationship 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;
    }
}

错误

  

尝试获取非对象的属性

请帮助解决可能出现的问题?

1 个答案:

答案 0 :(得分:1)

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

而是使用此代码返回包含作者的所有书籍。

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

    return $books;
}