问题标签 [eloquent-relationship]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
591 浏览

php - Laravel 如何在卖家和买家之间拆分订单?

我正在构建一个平台,用户可以在其中注册并添加要销售的产品。另一个用户也可以购买列出的产品。当买家下订单时,我希望列出产品的卖家(用户)看到它。现在所有用户都可以看到所有订单,即使他们不是卖家。

我不知道如何进行,但这是我的

产品控制器中的订单功能

任何帮助将不胜感激。

0 投票
1 回答
1507 浏览

laravel - 从多对多数据透视表上的 withPivot 获取关系数据

TL/DR:withPivot我使用and 和 的两个模型之间建立了多对多的关系using。我想withPivot从外键的值中获取相关数据。


我正在处理一个多租户项目,该项目有一个master数据库和tenant数据库。

中的任何模型App\Tenant\当前都在使用该$connection属性。

我的模型及其关联表具有以下结构:

team和之间的关系matchmany-to-many

(ateam可以玩多个matches,amatch可以有很多teams

匹配.php

团队.php

MatchTeam.php

match_team 表:


问题:

如何访问与数据透视表ground_id上的字段相关的地面数据?match_team

我主要追求的是类似于表match->ground->name上外键的关系match_team


我尝试了以下方法:

匹配控制器.php

但它给Call to undefined relationship [ground]


DD($match) 如下要求

0 投票
2 回答
138 浏览

laravel - 通过 laravel 中的表关系排序

我有一个包含 User 和 Order 模型的 Laravel 项目。用户模型与排序模型相关,如下所示:

这将返回特定用户的最后一个订单。它工作正常。

我还需要从最新的订单返回排序的用户数组。我尝试在存储库层上使用 Eloquent 来做到这一点,如下所示:

它不起作用。我也尝试了 sortBy 方法,结果相同。它返回给我,last_order 表不存在。

您能否建议我,如何使用 Eloquent(不在服务层,并且没有原始选择)轻松地对这样的一些进行排序?

谢谢你。

0 投票
2 回答
37 浏览

laravel - 使用 Laravel ORM 中的 where 条件从多个关系表中选择特定列值

我有两个名为contactsand的表clients。两个表都有group_id作为外键。现在,当用户从表中找到一个组时,我想phone从两个表中获取列值。我正在尝试这样的事情。但是得到空数组。有人能帮帮我吗!$request->groupidgroups

模型中 -

0 投票
1 回答
27 浏览

eloquent - 雄辩的 hasMany 与 hasMany 和中间的连接

我有这个数据库结构

关系是orders hasMany order_items which hasManyThrough order_item_meta,orders也有Many order_meta。此外,order_items/product_id 需要与 products 表连接。

我有 order_id,我正试图在一次调用中获取全部数据。但我有一个奇怪的问题。这是当前代码:

似乎 with#1 和 with#2 相互干扰。

案例1:如果我使用#1+with#3,我可以在结果中看到来自产品表的数据+来自 order_items 的数据,但看不到来自 order_item_meta 的数据。

案例2:如果我使用#2+with#3,我可以在结果中看到来自 order_items 的数据 + 来自 order_item_meta 的数据,但看不到来自产品表的数据。

在这两种情况下,来自 with#3 的数据都可以。

但是,如果我将这三个一起做(with#1+with#2+with3),我会得到与 case1 相同的结果。来自 order_item_meta 的数据丢失。

订单.php

订单项.php

OrderItemMeta.php

执行此查询的正确方法是什么?

0 投票
3 回答
4229 浏览

laravel - 对 Laravel 的 hasOne Eloquent 关系感到困惑

我有一个新的 Laravel 5.8 应用程序。我开始使用 Eloquent ORM 及其关系。

我马上遇到了一个问题。

我有以下表格。(这只是一个示例,出于测试原因,不会成为实际应用程序)

我想要的是获得属于实际登录的IP。

所以我添加了一个hasOne关系,Login table它有一个外键Data table

然后我添加了一个具有外键的hasOne关系:Data tableIP table

完成后,我想检索登录表的第一条记录的 IP 地址:

但我得到这个错误:

我在这里缺少什么,如何以正确的方式获取该登录的 IP?我需要一个belongsTo地方吗?

0 投票
4 回答
122 浏览

laravel - 多重关系 Laravel - 对象中的对象

我想使用 Laravel Eloquent 来建立关系,但是我在访问关系中的特定过滤对象时遇到问题。

我的对象:

我想按课程获取内容。直到现在我只能过滤 course_contents 来过滤内容

我的控制器:

课程模式

课程内容模型:

我的 json 返回(课程查找):

我需要的:

0 投票
1 回答
41 浏览

laravel-5 - 通过 id 从多对多关系中检索单个值

我正在尝试从属于 id=x 的用户的公司列表中获取单个值(公司)。到目前为止,我可以获得整个公司列表,但我想通过其 ID 获得单个公司。

非常感谢!

有了这个,我无法得到所有的公司。

我尝试了很多东西,最后一个是

但我得到了

"message": "未定义变量:公司",

0 投票
2 回答
624 浏览

php - Evaluate existence of relationship as true or false - Laravel Relationships

I'm trying to create a policy like the following:

I then test it with a User model where mentor relationship exists, but applicant relationship does not, and I get the error:

Trying to get property 'id' of non-object

I believe this is because the user->applicant returns null in this case.

What's the best way to evaluate if a model has a relationship where the response is either true or false?

Using exists() method returns null if the relationship does not exist.

0 投票
1 回答
41 浏览

laravel-5 - 使用 Laravel 雄辩关系时如何对查询结果进行分页

我有以下查询,它检索与父配置(confp)关联的子配置记录(confch),它工作正常。

我只需要对结果进行分页。

添加->paginate(10)肯定不起作用,因为它在结果集合中不存在。我在 laravel 文档中没有发现任何帮助。

请问我该怎么做?