Подскажите, пожалуйста, какая командная строка может помочь мне повторно инициализировать запрос neo4j, чтобы объяснить больше, у меня есть запрос, который дает все узлы пользователей, а второй запрос дает узлы папок, к сожалению, второй запрос запоминает результат первого запроса. ,
РЕДАКТИРОВАТЬ 0
Здесь следует объединение дополнительной информации, которую ОП опубликовал в качестве ответов. Для того, кто может, пожалуйста, объедините правки и удалите этот комментарий.
РЕДАКТИРОВАТЬ 1
<td>
<select name=user>
<?php
$result1 = $client->sendCypherQuery("MATCH (n:$label1) return n")->getResult();
$i=0;
foreach ($result1->getNodes() as $nu){
$n[$i]=$nu->getproperty('lastname');
$i++;
}
while ($j<$i)
{
echo "<option value='$n[$j]'> $n[$j] </option>";
$j=$j+1;
}
echo "</select>";
?>
</td>
</tr>
<tr>
<td>Nom dossier :</td>
<td>
<select name=folder>
<?php
$result2 = $client->sendCypherQuery("MATCH (n:$label2) return n")->getResult();
$i=0;
foreach ($result2->getNodes() as $nd){
$d[$i]=$nd->getProperty('name');
$i++;
}
$j=0;
while ($j<$i)
{
echo "<option value='$d[$j]'> $d[$j] </option>";
$j=$j+1;
}
echo "</select>";
?>
</td>
</tr>
РЕДАКТИРОВАТЬ 2
У меня 2 пользователя и 2 папки.
$result1
должны вернуть пользователей и $result2
должен вернуть папки.
когда я ищу размер папок, я получаю 4, а не 2, поэтому запрос всегда запоминает результат первого запроса.
РЕДАКТИРОВАТЬ 3
var_dump($result1)
, Я получил:
object(Neoxygen\NeoClient\Formatter\Result) protected 'nodes' =>
array (size=2)
7 =>
object(Neoxygen\NeoClient\Formatter\Node)[796]
protected 'id' => string '7' (length=1)
protected 'labels' =>
array (size=1)
...
protected 'properties' =>
array (size=6)
...
protected 'inboundRelationships' =>
array (size=0)
...
protected 'outboundRelationships' =>
array (size=0)
...
9 =>
object(Neoxygen\NeoClient\Formatter\Node)[797]
protected 'id' => string '9' (length=1)
protected 'labels' =>
array (size=1)
...
protected 'properties' =>
array (size=6)
...
protected 'inboundRelationships' =>
array (size=0)
...
protected 'outboundRelationships' =>
array (size=0)
... protected 'relationships' =>
array (size=0)
empty protected 'errors' => null
protected 'identifiers' =>
array (size=1)
'n' =>
array (size=2)
0 =>
object(Neoxygen\NeoClient\Formatter\Node)[796]
...
1 =>
object(Neoxygen\NeoClient\Formatter\Node)[797]
...
РЕДАКТИРОВАТЬ 4
а также var_dump($result2)
:
object(Neoxygen\NeoClient\Formatter\Result) protected 'nodes' =>
array (size=4)
7 =>
object(Neoxygen\NeoClient\Formatter\Node)[799]
protected 'id' => string '7' (length=1)
protected 'labels' =>
array (size=1)
...
protected 'properties' =>
array (size=6)
...
protected 'inboundRelationships' =>
array (size=0)
...
protected 'outboundRelationships' =>
array (size=0)
...
9 =>
object(Neoxygen\NeoClient\Formatter\Node)[800]
protected 'id' => string '9' (length=1)
protected 'labels' =>
array (size=1)
...
protected 'properties' =>
array (size=6)
...
protected 'inboundRelationships' =>
array (size=0)
...
protected 'outboundRelationships' =>
array (size=0)
...
8 =>
object(Neoxygen\NeoClient\Formatter\Node)[787]
protected 'id' => string '8' (length=1)
protected 'labels' =>
array (size=1)
...
protected 'properties' =>
array (size=2)
...
protected 'inboundRelationships' =>
array (size=0)
...
protected 'outboundRelationships' =>
array (size=0)
...
10 =>
object(Neoxygen\NeoClient\Formatter\Node)[788]
protected 'id' => string '10' (length=2)
protected 'labels' =>
array (size=1)
...
protected 'properties' =>
array (size=2)
...
protected 'inboundRelationships' =>
array (size=0)
...
protected 'outboundRelationships' =>
array (size=0)
...
РЕДАКТИРОВАТЬ 5
<?php include 'connection.php';
$j=0;
$l=0;
$label1="user";
$label2="folder1";
?>
<br><br><br>
<h3>Ajouter relation</h3>
<form action='php/addlink.php' method=post>
<table>
<tr>
<td>Nom utilisateur:</td>
<td>
<select name=user>
<?php
$result1 = $client->sendCypherQuery("MATCH (n:$label1) return n")->getResult();
$i=0;
foreach ($result1->getNodes() as $nu){
$n[$i]=$nu->getproperty('lastname');
$i++;
}
while ($j<$i)
{
echo "<option value='$n[$j]'> $n[$j] </option>";
$j=$j+1;
}
echo "</select>";
?>
</td>
</tr>
<tr>
<td>Nom dossier :</td>
<td>
<select name=folder>
<?php
$result2 = $client->sendCypherQuery("MATCH (n:$label2) return n")->getResult();
$i=0;
foreach ($result2->getNodes() as $nd){
$d[$i]=$nd->getid();
$i++;
}
$j=0;
while ($j<$i)
{
echo "<option value='$d[$j]'> $d[$j] </option>";
$j=$j+1;
}
echo "</select>";
?>
Это действительно странно, я создал интеграционный тест, который доказывает, что результаты не дублируются в последующих запросах:
Поэтому я бы посмотрел на разные позиции:
NB. Вы можете редактировать исходный вопрос вместо создания нескольких ответов.
Я протестировал ваш код, просто заменив метки на те, что в моем БД, и я получил только 2 папки:
Поэтому я бы проверил содержимое БД, можете ли вы попробовать в своем браузере сделать второй запрос вручную.
Других решений пока нет …