Php ATK4:表中没有唯一的列

Php ATK4:表中没有唯一的列,php,user-interface,frameworks,atk4,Php,User Interface,Frameworks,Atk4,如何基于没有单列主键的数据库表实现模型?该表有一个复合主键,但没有唯一列。我想创建一个以该表为主表的模型,但据我所知,该模型需要一个唯一的id字段 该表包含服务的自定义字段值,由以下3列组成:字段id、服务id、值。我需要能够引用存在于服务中的所有自定义字段值,并且能够引用链接到特定值的所有服务 我面临的两个主要问题是 1基于没有唯一列的自定义字段值表构建模型 2在两个“开启”条件下完成连接。例如: services JOIN fields ON services.id = field.

如何基于没有单列主键的数据库表实现模型?该表有一个复合主键,但没有唯一列。我想创建一个以该表为主表的模型,但据我所知,该模型需要一个唯一的id字段

该表包含服务的自定义字段值,由以下3列组成:字段id、服务id、值。我需要能够引用存在于服务中的所有自定义字段值,并且能够引用链接到特定值的所有服务

我面临的两个主要问题是

1基于没有唯一列的自定义字段值表构建模型

2在两个“开启”条件下完成连接。例如:

services JOIN fields ON
    services.id = field.service_id
JOIN values ON
    field.id = values.field_id AND
    values.service_id = services.id

我几天前在以下问题中看到了我和罗马人的答案:

2这很简单-您应该将下一个连接添加到上一个连接,而不是模型本身

$j_fields = $services_model->join('fields');
$j_values = $j_fields->join('values'); // $j_fields here not $services_model
您还可以以某种方式定义第二个条件值。service_id=services.id,但说实话,我还没有准备好发布的工作示例。据我记忆所及,您必须使用$model->dsql->andExpr


我想您可以使用addCondition将该条件移动到何处,或者也可以使用DSQL来实现它。

谢谢您的快速回答!