问题标签 [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.
php - Laravel 如何在卖家和买家之间拆分订单?
我正在构建一个平台,用户可以在其中注册并添加要销售的产品。另一个用户也可以购买列出的产品。当买家下订单时,我希望列出产品的卖家(用户)看到它。现在所有用户都可以看到所有订单,即使他们不是卖家。
我不知道如何进行,但这是我的
产品控制器中的订单功能
任何帮助将不胜感激。
laravel - 从多对多数据透视表上的 withPivot 获取关系数据
TL/DR:withPivot
我使用and 和
的两个模型之间建立了多对多的关系using
。我想withPivot
从外键的值中获取相关数据。
我正在处理一个多租户项目,该项目有一个master
数据库和tenant
数据库。
中的任何模型App\Tenant\
当前都在使用该$connection
属性。
我的模型及其关联表具有以下结构:
team
和之间的关系match
是many-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) 如下要求
laravel - 通过 laravel 中的表关系排序
我有一个包含 User 和 Order 模型的 Laravel 项目。用户模型与排序模型相关,如下所示:
这将返回特定用户的最后一个订单。它工作正常。
我还需要从最新的订单返回排序的用户数组。我尝试在存储库层上使用 Eloquent 来做到这一点,如下所示:
它不起作用。我也尝试了 sortBy 方法,结果相同。它返回给我,last_order 表不存在。
您能否建议我,如何使用 Eloquent(不在服务层,并且没有原始选择)轻松地对这样的一些进行排序?
谢谢你。
laravel - 使用 Laravel ORM 中的 where 条件从多个关系表中选择特定列值
我有两个名为contacts
and的表clients
。两个表都有group_id
作为外键。现在,当用户从表中找到一个组时,我想phone
从两个表中获取列值。我正在尝试这样的事情。但是得到空数组。有人能帮帮我吗!$request->groupid
groups
在组模型中 -
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
执行此查询的正确方法是什么?
laravel - 对 Laravel 的 hasOne Eloquent 关系感到困惑
我有一个新的 Laravel 5.8 应用程序。我开始使用 Eloquent ORM 及其关系。
我马上遇到了一个问题。
我有以下表格。(这只是一个示例,出于测试原因,不会成为实际应用程序)
我想要的是获得属于实际登录的IP。
所以我添加了一个hasOne
关系,Login table
它有一个外键Data table
:
然后我添加了一个具有外键的hasOne
关系:Data table
IP table
完成后,我想检索登录表的第一条记录的 IP 地址:
但我得到这个错误:
我在这里缺少什么,如何以正确的方式获取该登录的 IP?我需要一个belongsTo
地方吗?
laravel - 多重关系 Laravel - 对象中的对象
我想使用 Laravel Eloquent 来建立关系,但是我在访问关系中的特定过滤对象时遇到问题。
我的对象:
我想按课程获取内容。直到现在我只能过滤 course_contents 来过滤内容
我的控制器:
课程模式
课程内容模型:
我的 json 返回(课程查找):
我需要的:
laravel-5 - 通过 id 从多对多关系中检索单个值
我正在尝试从属于 id=x 的用户的公司列表中获取单个值(公司)。到目前为止,我可以获得整个公司列表,但我想通过其 ID 获得单个公司。
非常感谢!
有了这个,我无法得到所有的公司。
我尝试了很多东西,最后一个是
但我得到了
"message": "未定义变量:公司",
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.
laravel-5 - 使用 Laravel 雄辩关系时如何对查询结果进行分页
我有以下查询,它检索与父配置(confp)关联的子配置记录(confch),它工作正常。
我只需要对结果进行分页。
添加->paginate(10)
肯定不起作用,因为它在结果集合中不存在。我在 laravel 文档中没有发现任何帮助。
请问我该怎么做?