Почему мои операторы if не работают должным образом в Laravel?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему мои операторы if не работают должным образом в Laravel?

Сообщение Anonymous »

Сначала я вызываю API, чтобы вернуть все электронные письма в домене. Я не буду публиковать вызов API, поскольку он функционален. Но вот что я делаю с ответом:

Код: Выделить всё

    $resJson = json_decode($response, TRUE);

$exclusions = DB::table('exclusion')->get();
foreach($exclusions as $exclusion) {
$exc[]=$exclusion->email;
}
Я декодирую его в формате json, затем импортирую список исключенных писем из базы данных. В первом операторе if ниже я проверяю его по массиву исключений для писем, которые я не< /em> хочу отобразить.
Тогда я повторяю следующее.

Код: Выделить всё



[b]Users[/b][b]Creation Date[/b][b]Last Login[/b][b]Status[/b][b]Suspension Reason[/b][b]Action[/b]


@php
foreach($resJson["users"] as $user) {
if(!in_array($user['primaryEmail'], $exc))
{
if($user['suspended'] == false)
{
$susEnable = 'Suspend Account';
$status = 'Active';
$reason = '';
}
elseif($user['suspended'] == true)
{
$susEnable = 'Restore Account';
$status = 'Suspended';
$reason = $user['suspensionReason'];
}
if($user['lastLoginTime']=="1970-01-01T00:00:00.000Z")
{
$lastLogin = 'Never';
} else {
$lastLogin = str_replace('T',' // ', $user['lastLoginTime']);
$lastLogin = str_replace('Z','', $lastLogin);
}
$creationTime = str_replace('T',' // ', $user['creationTime']);
$creationTime = str_replace('Z','', $creationTime);
echo '' . $user['primaryEmail'] . '' . $creationTime . '' . $lastLogin . ''.$status.''.$reason.''.$susEnable.'';

}
}
@endphp



Приведенный выше код взят из ответа JSON Google ADMIN SDK. Пример ответа в формате JSON можно увидеть ниже:

Код: Выделить всё

{
"kind":"admin#directory#user",
"id":"115906813143010867543",
"etag":"",
"primaryEmail":"amr@domain.com",
"name":{
"givenName":"amr",
"familyName":"h",
"fullName":"amr h"
},
"isAdmin":false,
"isDelegatedAdmin":false,
"lastLoginTime":"1970-01-01T00:00:00.000Z",
"creationTime":"2021-01-11T20:46:25.000Z",
"agreedToTerms":false,
"suspended":true,
"suspensionReason":"ADMIN",
"archived":false,
"changePasswordAtNextLogin":true,
"ipWhitelisted":false,
"emails":[
{
"address":"amr@domain.com",
"primary":true
},
{
"address":"amr@domain.com.test-google-a.com"
}
],
"nonEditableAliases":[
"amr@domain.com.test-google-a.com"
],
"customerId":"C04357r1m",
"orgUnitPath":"/",
"isMailboxSetup":true,
"includeInGlobalAddressList":true,
"recoveryEmail":""
}
Дело в том, что иногда оператор if работает и выводится правильная форма, но иногда он терпит неудачу. Я вижу, что когда появляется правильная кнопка, она делает именно то, что должна делать в соответствии с моим контроллером, поэтому я не буду публиковать здесь код для нее, поскольку это просто вызов API.
Давайте рассмотрим пример электронного письма:
first@domain.com
В ответе JSON я вижу, что это электронное письмо заблокировано. Таким образом, на основе операторов if в коде должно отображаться «SUSPENDED», а также причина приостановки, а также btn-успех с надписью «Восстановить учетную запись». Однако это показывает полную противоположность тому, что происходит в HTML. Я думал, что это может быть проблема с кешем, но это не так. Есть мысли?

Подробнее здесь: https://stackoverflow.com/questions/659 ... in-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»