Я делаю многошаговую форму для представления информации о компании на PHP с графической базой данных neo4j. На первом этапе выполняется представление основной информации, а на втором этапе — некоторая расширенная информация, которую пользователь должен заполнить.
Тогда проблема заключается в том, что когда я создаю узел компании на первом шаге формы, он создается успешно, но на следующем шаге я не могу получить идентификатор компании для хранения информации шага 2 этой компании. Форма шага 2 находится в другом файле.
Я использую метод отправки формы AJAX.
Мне в основном нужно название компании или идентификатор, который генерируется на первом шаге, во втором шаге формы, чтобы хранить информацию о шаге 2 компании.
Добавление некоторого кода может быть только полезным для нас.
Тем не менее, если вы хотите достичь того, чего хотите добиться, близко к lastInsertId в PDO / Mysql, например, вы можете достичь этого также с помощью neo4j с помощью оператора RETURN, который вернет вам созданный узел, и вы сможете получить из него идентификатор, передав его на второй шаг вашей формы и получить узел с переданным идентификатором.
Следующий код является примером использования PHP-клиента от Neoxygen https://github.com/neoxygen/neo4j-neoclient :
// Creating your company node
$q = 'CREATE (c:Company {name:"My Awesome Company"}) RETURN c';
$result = $client->sendCypherQuery($q);
$id = $result->getSingleNode()->getId();
Передайте идентификатор на следующий шаг вашей формы и загрузите компанию из идентификатора:
$id = $_SERVER['POST']['id'];
$q = 'MATCH (c:Company) WHERE id(c) = {company_id} RETURN c';
$params = array('company_id' => $id);
$result = $client->sendCypherQuery($q, $params);
$company = $result->getSingleNode();
// Want to get some info of the node ?
$companyName = $company->getProperty('name');
Надеюсь, это помогло.
Крис
Других решений пока нет …