0
我有三个PHP数组,它们都具有相同的两个键:pId
和name
。阵列的名称是added
,deleted
& updated
。将数据库表中的分组值与关联数组进行比较
我想看起来像这样比较表:
id
relationId
pId
name
changeType
该行由relationId分组,并且有可能是每relationId多个PID &名对。 changeType
可以是added
,deleted
或updated
。
我想要的是能够运行来检查,如果一组pId
双(其中changeType
数组名称相匹配),这三个阵列完全匹配,在表中存在一个单一的查询并返回relationId
。
这可能吗?
例
表:
+--------+----------------+---------+---------------+----------------+
| **id** | **relationId** | **pId** | **name** | **changeType** |
+--------+----------------+---------+---------------+----------------+
| 1 | 1 | 1 | Smith | added |
+--------+----------------+---------+---------------+----------------+
| 2 | 1 | 2 | John | updated |
+--------+----------------+---------+---------------+----------------+
| 3 | 1 | 3 | Dexter | deleted |
+--------+----------------+---------+---------------+----------------+
| 4 | 1 | 4 | Heisenberg | added |
+--------+----------------+---------+---------------+----------------+
| 5 | 2 | 4 | Heisenberg | added |
+--------+----------------+---------+---------------+----------------+
| 6 | 2 | 3 | Dexter | updated |
+--------+----------------+---------+---------------+----------------+
| 7 | 2 | 3 | Dexter Morgan | updated |
+--------+----------------+---------+---------------+----------------+
PHP阵列:
$added = array(
[1] = array(
pId => 4,
name => 'Heisenberg'
)
)
$deleted = array(
//Empty
)
$updated = array(
[1] = array(
pId => 3,
name => 'Dexter'
)
[2] = array(
pId => 3,
name => 'Dexter Morgan'
)
)
当使用该阵列查询返回的relationId应该为2
这是一个有点抽象。你能显示一些代码和一些示例数据吗? –
是的,这很难解释,但我发布了一个例子。 –