【问题标题】:Laravel - How to relate two collections like Eloquent method "belongsToMany" and "with"Laravel - 如何关联两个集合,如 Eloquent 方法“belongsToMany”和“with”
【发布时间】:2019-06-03 12:26:19
【问题描述】:

如何组合两个集合,一个是父项的集合与子项的集合?

我想使用 withbelongsToMany 方法,但在这种情况下我无法正确使用这两种方法,因为一个表在另一个模式中,而数据透视表在另一个模式中。

            Area::with('permissoes')
            ->where('sistema', '<>', 'S')
            ->get()

【问题讨论】:

    标签: laravel eloquent laravel-query-builder


    【解决方案1】:

    大多数 Eloquent 急切加载都是通过单独的查询完成的,这些查询只对前一个键的键使用 IN 语句。数据透视表是个例外。听起来您需要明确告诉模型关系您的数据透视表在哪个数据库中。请在此处查看我的答案:belongsToMany relationship in Laravel across multiple databases

    【讨论】:

    • 谢谢克莱莫!!!我以前读过你的评论,他的帖子帮助我接近了我所需要的。
    • 这个子模型(权限),我成功地用另一个模式中的 Eloquent 查询了表,因为在这个模型中我使用一个简单的类来配置连接......但即使有它的提示,“嵌套”查询仅返回父项。结果显示了带有“权限”集合的属性“关系”,但没有值。
    • 我最终选择了手头上的所有事情。基本上,我首先查阅父表以收集 id,然后通过查询生成器,查阅数据透视表并与其他模式的父表连接,最后使用 foreach 进行所有操作。
    猜你喜欢
    • 1970-01-01
    • 2020-02-02
    • 2019-10-20
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2017-02-04
    • 2018-08-10
    相关资源
    最近更新 更多