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

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

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

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

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

如果我真的不清楚我是怎么问这个问题的话,我会试着改写它.

最佳答案 我想你会发现,在你的Eloquent模型中设置几个简单的关系方法可以释放出Eloquent的力量(以及简单易用性).例如,您是否愿意编写自定义连接代码或使用如下结构:

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

听起来你对Laravel来说很新.我强烈建议您阅读Laravel manual中的关系页面.有很多很好的例子.还有关于关系here的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
点赞