Laravel的关系在某些情况下返回错误数据

时间:2019-07-01 01:13:14

标签: php sql-server laravel

我在Laravel中有2个表,这些表具有它们之间的关系,并且在大多数情况下它们可以正确返回数据,结构是这样的

Table workers
----------
ConsecutiveNomina| ConsecutiveWork| name| last_name

ConsecutiveNomina字段中的该表对于大多数员工而言具有值1,而ConsecutiveWork将是可自动递增的字段+1,问题是当员工拥有{{1 }}在2字段中。

我的第二张桌子具有这种结构

ConsecutiveNomina

与前一个Table charges ---------- ConsecutiveNomina | ConsecutiveWork| position 一样,多数值均为ConsecutiveNomina,而1将是可自动递增的字段+1

ConsecutiveWorker表中的某个员工在Workers中拥有2时,他们与ConsecutiveNomina表的关系应返回Charges 2及其数据ConsecutiveNomina中的数字,例如

ConsecutiveWorkman

如果Table workers ---------- ConsecutiveNomina| ConsecutiveWork| name| last_name ---------- 1 | 1 | Juan | Gomez 2 | 1 | Pedro | Perez Table charges ---------- ConsecutiveNomina | ConsecutiveWork| position ---------- 1 | 1 | employee 2 | 1 | Manager ConsecutiveNomina 1递增+1,但是如果ConsecutiveWork仅从1开始从1开始,这就是数据在数据库中的分配方式与2中的2

在大多数情况下,它可以很好地返回数据,例如

ConsecutiveNomina

这很完美,但是如果您要对$users = Employee::where([['Situacion', '0'], ['ConsecutiveNomina', '1']])->get(); foreach($users as $user){ $user->position->cargoRNET } 2的工作人员执行以下操作,则如下所述

ConsecutiveNomina

在关系中,我返回$users = Empleado::where([['Situacion', '0'], ['ConsecutiveNomina', '2']])->get(); foreach($users as $user){ $user->position->cargoRNET } ,而不是返回与此用户对应的Manager,因为EmployeeManager共享相同的{{ 1}},例如Employee,我的问题是,当工作人员在{{1}中拥有ConsecutiveWorkman时,我如何与我交往1或相应的数据}。

我想此刻数据很糟糕地返回我,因为两者共享相同的Manager值,并且我返回找到的第一个值,但是我需要在费用表中返回值2,但使用ConsecutivoNomina

我的模特

CosecutivoTrabajador

ConsecutiveWorker = 1

0 个答案:

没有答案