Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SQLite.swift连接缺少的信息_Ios_Sqlite_Swift_Sqlite.swift - Fatal编程技术网

Ios SQLite.swift连接缺少的信息

Ios SQLite.swift连接缺少的信息,ios,sqlite,swift,sqlite.swift,Ios,Sqlite,Swift,Sqlite.swift,我试图使用SQLite.swift库在swift中连接几个表,但遇到了一些问题。下面的代码显示了该问题: 我首先加入表格: let ext_tasks = tasks.join(tasktypes, on: tasktypes[tty_id] == tasks[task_type]) .join(preUsers, on: preUsers[Worker_ID] == task_ownerID) .order(task_dueDate) .

我试图使用
SQLite.swift
库在swift中连接几个表,但遇到了一些问题。下面的代码显示了该问题:

我首先加入表格:

    let ext_tasks = tasks.join(tasktypes, on: tasktypes[tty_id] == tasks[task_type])
        .join(preUsers, on: preUsers[Worker_ID] == task_ownerID)
        .order(task_dueDate)
        .filter(task_ownerID == iUserID)
此时,我已将表连接起来,并且
任务
任务类型
预用户
中的所有字段都正确地存在

下面我运行第二个join语句:

    let ext_equipment = equipment.join(equipment_type, on: equipment_type[eqt_id] == equipment[equ_type])
        .join(facilities, on: facilities[fac_id] == equipment[equ_facid])
        .join(eqowners, on: eqowners[Worker_ID] == equipment[equ_owner])
        .order(equ_make)
        .filter(equ_status >= 0)
同样,在运行此语句后,我可以访问
设备
设备类型
设施
设备所有者
表中的所有字段,到目前为止,一切都按预期运行

但是,我尝试使用以下方法将上述两个结果结合起来:

    let comp_tasks = ext_tasks.join(ext_equipment, on: ext_equipment[equ_id] == ext_tasks[task_eqID])
        .order(task_dueDate)
这里是我遇到问题的地方,似乎有来自
ext\u任务
查询的表,但只有来自
ext\u设备
查询的
equipment
表可用

此外,当我尝试访问
“facility.”“facility\u name”
字段时,我会收到以下消息,表示该字段不存在:

致命错误:以下列中没有此类列“设施”。“设施名称”:

[“设备”,“设备类型ID”,“设备”,“设备”,“设备ID”,“设备”,“设备”,“设备所有者ID”,“设备”,“设施ID”,“设备”,“状态”,“预用户”,“客户ID”,“预用户”,“最后登录日期”,“预用户”,“第一名”,“任务类型”,“任务类型”,“任务类型”,“任务”,“任务”,“设备ID”,“任务”,“任务”,“所有者ID”,“任务”,“优先级”,“任务”。“完成时间”、“任务”、“开始时间”]:

(为了缩短答案,我删除了其中的一些列,总共显示了53个字段)但由于您只能看到第一个联接中的表+显示了设备表,因此第二个查询(
设备类型、设施和设备所有者
)中的联接不见了

如果有人能告诉我为什么会发生这种事,我会很感激的,这已经折磨了我好几个小时的大脑,我就是想不出来


提前感谢!

这可能是一个错误。您的查询太复杂了,现在可能无法正确生成。您能否尝试在GitHub上打开一个问题,并提供足够的信息进行复制?作为一种解决方法,我确实更改了加入策略,而不是加入两个(已加入)查询时,我只是不断添加一个又一个连接,使查询更大,效率更低,因为我必须通过5个连接才能达到我想要的目的,但问题得到了解决。感谢Stephen的评论,我将在github中打开一个bug