Я очень новичок в PHP и HTTP и столкнулся с проблемой, которая кажется несколько странной при попытке отладки функции:
Есть страница, отображающая список транзакций (как исторических, так и ожидающих рассмотрения).).Информация отображается в таблице со строкой для каждой транзакции.Каждая транзакция отображает такую информацию, как имя клиента, идентификатор, сумма, контакт транзакции, временные контакты, статус и т. Д.
Пользователь может обновить контакт транзакции, выбрав имя из предварительно заполненного раскрывающегося списка в транзакции.Контактная колонка.Если они хотят добавить новое имя в этот выпадающий список, они могут щелкнуть кнопку «Изменить» в ячейке в списке «Предварительные контакты», которая откроет диалоговое окно, отображающее форму с полями «Имя», «Фамилия» и'Адрес электронной почты'.Как только эти данные были добавлены, они могут нажать кнопку «Добавить пользователя» в форме, и новый пользователь будет добавлен в список контактов в этой ячейке.Все пользователи в этой ячейке будут отображаться в раскрывающемся списке в ячейке Контакт транзакции для этой транзакции (вместе с некоторыми другими контактами по умолчанию).
Однако в настоящее время существует проблема, когда пользователь добавляетновый контакт в ячейку «Временные контакты», хотя этот пользователь затем отображается в раскрывающемся списке «Контакт транзакции», когда вы выбираете нового пользователя, отображается ошибка о том, что пользователь не существует.Однако, если вы обновите страницу после добавления контакта в ячейку Временные контакты, а затем попытаетесь выбрать его в раскрывающемся списке Контакт транзакции, его можно будет выбрать.
Я сузил проблемучтобы быть где-то в функции addAccountUser()
, определенной в UserController.php:
public function addAccountUser( AddAccountUsersRequest $request )
{
dd('addAccountUser() being called ');
//dd($request);
$users = $request->input('users');
$type = $request->input('type');
$accountId = $request->input('accountId');
dd('Value of users: ');
dd($type);
// If adding an agent, the new user should be agent, else the created user will be direct
$userType = $type == 'taxfirm-agent' ? UserType::where('userTypeTag', 'AGENT')->first() : UserType::where('userTypeTag', 'DIRECT')->first();
$messages = array();
$hasWarningMessages = false;
try
{
DB::beginTransaction();
foreach ($users as $userRaw)
{
$details = array(
'firstName' => $userRaw['firstName'],
'lastName' => $userRaw['lastName'],
'email' => $userRaw['email'],
'password' => uniqid(),
'userTypeId' => $userType->userTypeId,
'accountId' => (!empty($accountId)) ? $accountId : null
);
$propertyValues = array();
// Adding tax agent
if ($type == 'taxfirm-agent') {
$group = $userRaw['role'];
$rv = $this->addTaxfirmAgent($details, $group);
}
else if($type == 'taxfirm-direct') {
$rv = $this->addTaxfirmDirectContact($details);
}
else {
$group = $userRaw['role'];
$rv = $this->addTaxpayerDirectContact($details, $group);
}
DB::commit();
if ($rv['status'] !== 'SUCCESS') {
if (!isset($messages[$rv['status']])) {
$messages[$rv['status']] = array(
'message' => StatusMessage::getMessage($rv['status']),
'data' => [],
);
}
$messages[$rv['status']]['data'][] = [$userRaw['email'], ucfirst($userRaw['firstName']), ucfirst($userRaw['lastName'])];
if (!$hasWarningMessages)
{
$hasWarningMessages = true;
}
}
}
}
catch(\Exception $e)
{
DB::rollback();
return response()->json(array(
'success' => false,
'exceptionCode' => $e->getCode(),
'exceptionMessage' => $e->getMessage().' - '.$e->getFile().' - '.$e->getLine()
), 400);
}
// When returning $messages to angular, the array is turned into an object
// which is not desirable. This is a workaround so that the messages are returned
// as an array
$outputMsg = array();
foreach ($messages as $value) {
$outputMsg[] = $value;
}
return response()->json(array(
'success' => true,
'hasWarningMessages' => $hasWarningMessages,
'result' => $outputMsg,
'users' => $rv['user']->user,
));
}
В настоящее время, когда я пытаюсь добавить нового пользователя в ячейку Временного контакта для транзакции, в браузере отображается ошибка, котораяговорит:
Произошла ошибка при добавлении вашего пользователя.Если проблема сохраняется, пожалуйста, свяжитесь с нами.
Я вижу отладку addAccountUser() being called
с самого начала функции addAccountUser()
на вкладке Сеть -> Предварительный просмотр консоли моего браузера на этом этапе,но не вижу добавленную мной отладку Value of users:
или $type
, которая предполагает, что что-то идет не так в одной из следующих трех строк:
$users = $request->input('users');
$type = $request->input('type');
$accountId = $request->input('accountId');
Я не до конца понимаючто происходит в этих трех строках ... Я знаю, что это HTTP-запросы, но на самом деле не знаю, какую информацию они запрашивают или откуда ...
Может кто-нибудь указать мне правильное направлениечтобы решить это?