首页 > 解决方案 > 我想在 Laravel 中将一个值从一个表传递到另一个表

问题描述

我正在尝试解决一个问题,但我没有那么多深度来解决它

我有 2 张桌子

我使用两者连接one-many relationship

我的Book.php模型有这个

public function authors()
    {
        return $this->belongsTo(Author::class);
    }

我的Book.php模型有这个

public function books()
{
    return $this->hasMany(Book::class);
}

我可以将作者的 ID 保存到书表中

我的问题
我想在前端显示作者的名字和书名,所以我尝试了这个,但没有用

@foreach($books as $book)
<div class="col-md-3">
<div class="home-catalog-image">
<img src="{{ asset('/storage/'.$book->image) }}"> 
</div>
<p class="author">{{ $book -> author_id }}</p>
<h1 class="book-title">{{ $book -> name }}</h1>
</div>
@endforeach

我无法用 显示作者的姓名$book -> author_id,我知道这种方法是错误的,但我不知道该怎么做。请我需要帮助。谢谢。

标签: phplaravel

解决方案


BelongsTo 表示author应该是单数

public function author()
{
        return $this->belongsTo(Author::class);
}

而在这个观点

{{ $book->author->name }}

您可以查看文档以供参考。


推荐阅读