【问题标题】:Querying two levels of related data in Laravel在 Laravel 中查询两级相关数据
【发布时间】:2016-06-04 21:51:18
【问题描述】:

我有一个 Payment 和一个 TransactionsGroup 模型。它们通过 BelongsToMany 关系关联。

TransactionGroup 也通过 HasMany 与 Transactions 相关。

我想获得付款和相关交易。我将如何使用 Eloquent 做到这一点?我已经走到这一步了:

    $payments = Payment::with('transactionGroups')->findOrFail($paymentId);

谢谢。

【问题讨论】:

    标签: php laravel orm laravel-5 eloquent


    【解决方案1】:

    您可以使用以下代码加载嵌套关系:

    $payments = Payment::with('transactionGroups', 'transactionGroups.transactions')->findOrFail($paymentId);
    

    Eloquent 将为给定的付款加载 transactionGroups,然后为每个付款加载相关的交易。您以后可以通过以下方式访问它们:

    foreach ($payment->transactionGroups as $transactionGroup) {
      foreach ($transactionGroup->transactions as $transaction) {
        // your code here
      }
    }
    

    【讨论】:

    • 这很好用(只要我记得将相关数据添加到我的可见数组中):P .
    猜你喜欢
    • 2019-01-16
    • 2021-11-19
    • 2013-10-05
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多