Я работаю над приложением Laravel, и на одной из страниц показана таблица с информацией о конкретных учетных записях (отсортировано по AccountUserId).
Я хочу добавить в эту таблицу два столбца, чтобы разрешитьПользователь должен ввести letter addressee name
& preferred addressee name
, чтобы добавить эти поля в учетную запись.
Я внес соответствующие изменения в базу данных - добавил столбцы letterAddresseeName
& preferredAddresseeName
в account.accountтаблица - эти два поля применимы только к записям в таблице, чье поле typeId
имеет значение «4» (это означает, что они являются лицом, ответственным за оплату остатка на счете).
Я добавилнесколько пользователей учетных записей в клиентской части и запросили базу данных с помощью SQL SMS, и я вижу, что пользователи существуют в таблице account.account (я выполнил запрос в поиске имен, добавленных для этих учетных записей).Однако, хотя я добавил данные в поля letterAddresseeName
& preferredAddresseeName
в таблице, эти поля в базе данных по-прежнему оставались пустыми.
Я пытаюсь написать SQL, мне потребуется обновить этиполей, но я не особо использовал SQL за последние десять лет или около того, я немного с ним справился.
В файле AccountsController.php я добавил следующую функцию в AccountsController
class:
class AccountsController extends Controller
{
use AccountsTrait;
...
public function addAddresseesToAccount(Request $request)
{
$accountId = $request->input('accountId');
$sqlArgs = [];
$addAddresseesToAccountSQL = $this->addAddresseesToAccountSQL( $accountId, $sqlArgs );
$addressees = DB::select(
$addAddresseesSQL,
$sqlArgs
);
}
...
public functionaddAddresseesToAccountSQL($accountId, &$sqlArgs, $letterAddresseeName, $preferredAddresseeName)
{
$sqlArgs['accountId'] = $accountId;
$addAddresseesSQL = "
UPDATE ACCOUNT.ACCOUNT
SET letterAddresseeName = $letterAddresseeName, preferredAddresseeName = $preferredAddresseeName
WHERE accountId = $accountId;
";
return $addAddresseesSQL;
}
}
В HTML для полей, которые я добавил, я установил атрибут ng-change
для вызова этой функции PHP:
<!--Letter Addressee Name -->
<td *ngIf="!responseData.loading" class="width-1 visible-lg-table-cell">
<input type="text" name="letterAddresseeNameTextField" ng-value= getLetterAddresseeName(responseData) ng-change = "AccountsController.addAddresseesToAccount()"><br>
</td>
<!--Preferred Addressee Name -->
<td *ngIf="!responseData.loading" class="width-1 visible-lg-table-cell">
<input type="text" name="preferredAddresseeNameTextField" ng-value = getPreferredAddresseeName(responseData) ng-change = "AccountsController.addAddresseesToAccount()" ><br>
</td>
Что яздесь делаешь неправильно?Нужно ли вызывать функцию PHP через функцию Angular, а не вызывать ее напрямую?