php - 我想在 Laravel 中将一个值从一个表传递到另一个表
问题描述
我正在尝试解决一个问题,但我没有那么多深度来解决它
我有 2 张桌子
书桌
Schema::create('books', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); $table->string('about'); $table->text('content'); $table->string('image'); $table->integer('author_id'); $table->timestamps(); });
作者表
Schema::create('authors', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); $table->string('about'); $table->string('image'); $table->timestamps(); });
我使用两者连接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
,我知道这种方法是错误的,但我不知道该怎么做。请我需要帮助。谢谢。
解决方案
BelongsTo 表示author
应该是单数
public function author()
{
return $this->belongsTo(Author::class);
}
而在这个观点
{{ $book->author->name }}
您可以查看文档以供参考。
推荐阅读
- google-api - 如何为事件检索“提议的新时间”?
- node.js - 指定 node-fetch 获取 JSON
- swift - 直接从 usdz 文件而不是 Reality Composer 文件加载模型时,如何在 RealityKit 中渲染阴影?
- sql - PostgreSQL/dblink:发送带有文本参数条件的查询
- kubernetes - 自定义 Kubernetes HPA 算法
- android - PagingLibrary (LivePageListBuilder) 不返回 PagedData
- sql - 更新while循环内的记录
- python - 集群中的数据点不显示
- c# - 使用单个用户帐户时如何在 AspNetUsers 表中设置 PhoneNumber
- visual-c++ - 如何使用 msvc 将自定义部分链接到可执行文件?