Итак, сейчас у меня есть представление, это представление вызывается моделью таблицы, как показано ниже. затем в моем контроллере у меня есть простая процедура загрузки модели, а затем устанавливаются значения для расшифровки и где "необходимый для проверки", как показано ниже.
**inside my view**
public function initialize(array $config)
{
$this->setTable('admin.vCalcTranscriptUpdateTerms');
}
**Inside my controller before the stored procedure call**
$transcriptsTable = $this->loadModel('UpdatedTranscripts');
$transcript = $transcriptsTable->find()->first();
$this->set('transcript',$transcript);
$this->set('whereTerm',$transcript);
После того, как это используется, я перехожу к моему ctp-файлу, который является моим дисплеем, и у меня есть куча P-элементов, отображающих информацию, как показано ниже. который работает на 100% так, как я хочу и точно.
**Inside my .ctp file :**
<p value="<?= $transcript->whereTerm; ?><?= $transcript->updateTerm; ?
>">This
will update the transcript term from
<?= $transcript->whereTerm; ?> to <?= $transcript->updateTerm;
?></p>
<p value="<?= $transcript->schoolYear; ?>">School Year: <?= $transcript-
>schoolYear; ?></p>
<p value="<?= $transcript->FiscalYear; ?>">Fiscal Year: <?= $transcript-
>FiscalYear; ?></p>
Наконец-то у меня есть контроллер и вызов хранимой процедуры. Почему значения, которые я передал в элементы P, не собираются из запроса getData? когда я проверяю страницу, значение "" показывает правильную переданную информацию, и все же она не передается в мою процедуру в качестве параметра. это очень расстраивает, что мне нужно сделать, чтобы это исправить?
**Inside my controller**
$postedData = $this->request->getData();
$dbConnection = ConnectionManager::get('default');
$results = $dbConnection
->execute(
'exec admin.vCalcTranscriptUpdateTermsProcedure
@schoolYear=:schoolYear,
@FiscalYear=:FiscalYear,
@whereTerm=:whereTerm,
@updateTerm=:updateTerm
',
[
'schoolYear' => $postedData['schoolYear'],
'FiscalYear' => $postedData['FiscalYear'],
'whereTerm' => $postedData['whereTerm'],
'updateTerm' => $postedData['updateTerm'],
],
[
'schoolYear' => 'string',
'FiscalYear' => 'smallinteger',
'whereTerm' => 'integer',
'updateTerm' => 'integer',
]
Результатом будет успешное возвращение произведенных строк, но это приведет к ошибкам еще до того, как это произойдет.
Редактировать - если я добавлю что-то подобное выше, он не сохранит значения в сеансе или ugg
$this->request->getSession()->write('App.www',$this->request->getData());
Вот некоторые ошибки, которые я получаю, когда пытаюсь загрузить веб-страницу, она говорит, что ничего не определено, почему, черт возьми, эти значения не извлекаются, когда я использую get data перед моей хранимой процедурой.
Примечание (8): неопределенный индекс: schoolYear [APP / Controller \ updatedTranscriptsController.php, строка 35]
Примечание (8): неопределенный индекс: FiscalYear [APP / Controller \ ОбновленоTranscriptsController.php, строка 36]
Примечание (8): неопределенный индекс: whereTerm [APP / Controller \ UpdatedTranscriptsController.php, строка 37]
Примечание (8): неопределенный индекс: updateTerm [APP / Controller \ UpdatedTranscriptsController.php, строка 38]
Ошибка базы данных
PDOException
API документации
Ошибка: SQLSTATE [42000]: [Microsoft] [Драйвер ODBC 17 для SQL Server] [SQL Server] Процедура vCalcTranscriptUpdateTermsProcedure не имеет параметров и переданы аргументы.