4

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

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

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

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

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

4

1 回答 1

1

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

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

听起来你对 Laravel 很陌生。我强烈推荐阅读Laravel 手册中关于关系的页面。有很多很好的例子。这里还有一个关于关系的 Laracast 视频教程。我与这个网站没有任何关系。

票务等级:

<?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
于 2016-08-09T01:30:24.203 回答