问题标签 [laravel-relations]

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 投票
1 回答
147 浏览

laravel - 如何导入带有关系ID的excel文件?

我尝试使用 Excel 文件导入作业请求的行,但我不知道如何将作业请求的 ID 存储在它的行中。

我有 2 个模型

工作申请

线

当我添加该行时,我将打开工作请求并添加该行。该行将与 product_id 和 job_id 一起保存。

这是线控制器

这是LineImport模型

我不知道如何存储job_id(这个job_id是我在上传Excel文件之前打开的记录)。

在此处输入图像描述

使用 Excel 文件中的product_id

在此处输入图像描述

在此处输入图像描述

这是我需要解决方案来解决的问题。

先感谢您。我期待着您的回复。

0 投票
2 回答
22 浏览

php - 如何从 Laravel 日期范围内未创建的数据库中获取记录?

我有一个功能,我可以在其中获取日期之间的所有销售记录。这是功能:

但现在我需要创建一个函数,该函数将从数据库中获取在日期范围内没有任何销售的所有记录。

就像是:

如何获得在日期范围内未售出的所有产品?

0 投票
2 回答
58 浏览

laravel - 我在 laravel 8 中有一个属于关系,当我尝试在 tinker shell 中使用该关系时它返回 null

我正在使用 Laravel 8,我有以下非常简单的模型和迁移,

作者模型

轮廓模型

create_authors_table 迁移

create_profiles_table 迁移

尽管有上述模型和迁移,但如果我Profile在 tinker shell 中创建一个新模型并执行$profile->author()它会返回null. 我不明白问题出在哪里。

(我尝试更改$this->belongsTo('App\Models\Author');$this->belongsTo(Author::class);重新$this->hasOne('App\Models\Profile');启动$this->hasOne(Profile::class);修补程序。问题仍然存在。我什至尝试将所有无符号整数键更改为无符号大整数,但问题仍然存在。)

0 投票
1 回答
81 浏览

laravel - HasOne 显示“null”或“未定义属性:Illuminate\\Database\\Eloquent\\Relations\\HasOne”

我正在尝试使用hasOne在我的数据集中返回单个值,但是如果不返回完整对象,我似乎无法将单个列作为值返回。

返回时对象的外观hasOne

仅使用 hasOne 作为默认对象的结果:

返回null

返回Call to a member function addEagerConstraints() on array

返回Undefined property: Illuminate\\Database\\Eloquent\\Relations\\HasOne::$steps

预期结果:

根据与@MaartenDev 的评论中的对话进行更新

我想在模型被调用时附加$model->steps->steps到。$model->steps因为我正在更新数据库表以将某些数据拆分为表,并希望在调用模型时保持数据的结构相同。

例如,如果您正在使用getUserCountAttribute,您可以通过hasMany()->Count().

所以我想在调用模型时将steps数组附加到steps属性中。

0 投票
1 回答
22 浏览

laravel - 检查交易中所有订单的状态并将交易标记为已完成

work_orders 是 hasMany() 关系。

我想检查交易中的所有订单是否都已完成,然后运行一个函数来完成交易。如果任何工作订单未完成,那么什么都不做,然后返回。我当前代码的问题是,如果任何工作订单完成,则标志着交易完成。但我想检查是否所有订单都已完成

0 投票
0 回答
43 浏览

php - laravel:无法使用外键和非主键在模型中创建关系

我们在 laravel 模型中创建关系时遇到了问题。

要求:我们想以这样的方式创建一个关系,我们有三个表

block_primary_table

block_id 块名
1 XYZ
2 美国广播公司

块翻译表

ID 语言标识 block_id 块名
1 1 1 XYZ-英文
1 2 1 XYZ-印地语
1 1 2 ABC-英语
1 2 2 ABC-印地语

和第三个用户表,我们在其中捕获用户区域

用户区域

用户身份 用户名 堵塞
1 ABC用户 1 1

我们有一个模块的表单,其中我们有一个区域和块字段,块字段依赖于区域字段,因此在创建新条目时,块会根据区域值加载到下拉列表中,以便我们可以显示该值很容易,因为它将由 ajax 处理。

但是在编辑操作期间,假设我们正在从 user_area 编辑 user_id 1,此时现有值需要进入表单,但是这里像其他字段值一样的问题是正确的,但是对于块,在编辑操作期间,值出现使用实体的字段,在模型中定义,所以在那个关系中我们有

因此,我们期望它将通过将块(user_area 的外键)映射到 block_translation_table 的 block_id(block_translation_table 的非主键)来从块转换表中返回值。

我们是相关的列名,它仍然是将 user_area 表的块列与 block_translation_table 的 id 列映射。

所以请提供问题的解决方案,比如我们如何在 laravel 模型中为外键和非主键创建关系。

0 投票
0 回答
63 浏览

laravel - Laravel 资源中的多对一

我使用 laravel 8 并有 3 个表:产品、产品价格和产品发布者: 在此处输入图像描述

这是我的这种关系的产品模型:

这是我的发布者关系的 productsPrice 模型:

现在,我想为我的 api 使用 laravel 资源,我写了产品资源:

但是在 lastPrice 资源中,当我这样写时:

它给了我这个错误:

此集合实例上不存在属性 [id]。

当我使用此代码时:

得到响应,但因为我需要在我的 lastPirce 中为发布者使用另一个关系,所以我不能使用该代码,应该单独返回我的数据。我应该怎么做?谢谢

编辑 1: 这是我的控制器代码:

这是 sendResponse & sendError:

谢谢。


编辑 2: 我将我的 lastPrice Resource toArray 函数更改为此并解决了我的问题,但我认为这不是一个干净的方法,有更好的主意吗?

0 投票
1 回答
39 浏览

mysql - laravel 与 json 列的关系

问题:

目前,我有 2 个表,分别是gamesPromotion,但是在建立关系时遇到了麻烦,因为 Promotion 表中的 game_id 列JSON ,所以很难加入它。是否有任何解决方法可以轻松地将它们连接在一起以检索游戏数据?

0 投票
2 回答
152 浏览

php - Laravel - 与资源的关系和加载时不起作用

所以我试图利用资源来控制输出,因为有人告诉我这是为 api 输出建模数据的最佳方法。

客户模型

发票型号:

客户资源:

发票资源:

客户控制器:

但是当我去 API EndPoint

错误从堆栈开始: return CustomerResource::collection($customers->paginate(50))->response();

0 投票
0 回答
52 浏览

laravel - 在 Laravel 中更改模型和数据库表名

我想在 Laravel 项目中更改我的模型名称及其数据库表名称,但我已将其他模型与关系连接起来。所以现在我想知道是否有任何方法或工匠命令来改变它,所以它不会给它的连接带来问题?