如何从没有关系laravel 8的另一个表中检索具有多行的行数据

Posted

技术标签:

【中文标题】如何从没有关系laravel 8的另一个表中检索具有多行的行数据【英文标题】:how to retrieve row data with multi rows form another table with no relation laravel 8 【发布时间】:2021-06-01 04:27:53 【问题描述】:

我正在使用 Laravel 8,我有这些数据库表结构

用户表结构

身份证和姓名

文章表结构

id、标题、内容和作者

模型是

文章和用户

我将用户 ID 存储在文章表的作者字段中,格式如下

例如 1,6,9

但不幸的是,我坚持如何使用作者 ID 和姓名检索所有文章行数据,并且对如何编写查询感到困惑

【问题讨论】:

你能分享代码细节吗?我想这需要几分钟才能解决问题 我不写查询因为我不知道怎么写^_^ 请写你的 laravel 代码。 【参考方案1】:

首先,您需要在创建文章迁移时使用它。

$table->bigInteger('authors');
$table->foreign('authors')->references('id')->on('users');

其次,您需要在用户模型中有此代码。

public function articles() 
    return $this->belongsTo( User::class, 'authors' );

然后像这样访问用户的文章。

$user->articles

【讨论】:

如果您要为作者创建新表,我已经有用户表并且作者 ID 是相同的用户 ID 没有。没有任何表。我的意思是说作者必须是外键,我在 Laravel 迁移中编写了代码来做到这一点。

以上是关于如何从没有关系laravel 8的另一个表中检索具有多行的行数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个表中检索并再次将其输入到 laravel 中的另一个表中?

如何在 bs4 [python 3] 中的另一个标签内从没有类或 id 的标签中刮取 url

您可以从一个表中的列中调用数据以在 SQL 和 Laravel 中的另一个表中使用吗?

Laravel 雄辩模型如何从关系表中获取数据

如何从没有ID的表中删除重复(重复)记录,行[重复]

Laravel 8.x - 使用 Eloquent 关系存储数据