gpt4 book ai didi

sql - 在laravel中链接2个数据集的最有效方法

转载 作者:行者123 更新时间:2023-12-04 20:43:40 24 4
gpt4 key购买 nike

现在,如果我问的问题太具体,比如 Laravel,你可以骂我,但我想知道,将 2 个数据集与 Laravel 中的工具链接在一起的最有效方法是什么。

在使用 Eloquent 关系和与查询构建器的连接之间进行选择时,我应该使用特定的心态吗?或者我应该考虑在较小或较大的数据集上使用查询构建器的任何缺点?

我正在构建一个只需要用户表中的一个或两个字段的票证系统,此时考虑使用关系似乎太过分了,但如果系统的需求增加,它可能会导致代码困惑。这是关系要解决的情况吗?

使用 eloquent 关系时是否会发生任何我应该注意的耦合类型操作?

如果我真的不清楚我是如何问这个问题的,我会尝试改写它。

最佳答案

我想你会发现,正如我所做的那样,在你的 Eloquent 模型中设置几个简单的关系方法可以释放 Eloquent 的强大功能(以及易用性和简单性)。例如,您更愿意编写自定义连接代码还是使用这样的结构:

foreach($user->tickets as $ticket) { ... etc ... }

听起来你对 Laravel 很陌生。我强烈建议阅读 Laravel manual 中关于关系的页面。 .有很多很好的例子。还有一个关于关系的 Laracast 视频教程 here .我与本网站没有任何关系。

票类:
<?php
class Ticket extends Model {
public function user() {
return $this->belongsTo('User');
}
}

用户类:
<?php
class User extends Model {
public function tickets() {
return $this->hasMany('Ticket');
}
}

只要你有一个像这样的表设置:
tickets (table)
- id
- user_id

users (table)
- id

此示例假定模型位于全局命名空间中。然后,您可以像这样从票证中获取用户数据:
$ticket->user->first_name
$ticket->user->last_name

关于sql - 在laravel中链接2个数据集的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38839758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com