所以现在我有一个视图,此视图由表模型调用,如下所示。然后在我的控制器中,我有一个简单的加载模型过程,然后将值设置为transcript,并在其中设置“需要检查”,如下所示。
**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>
最后,我有了我的控制器并调用了存储过程。为什么我没有从getData请求中收集传递给P元素的值?当我检查页面时,值“”显示正确的传递信息,但未将其作为参数传递给我的过程。为了解决这个问题,这非常令人沮丧吗?
**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());
当我尝试加载网页时,我遇到了一些错误,这是在说什么都没有定义好,为什么当我在存储过程之前使用获取数据时,为什么不检索值呢?
通知(8):未定义索引:schoolYear [APP / Controller \ UpdatedTranscriptsController.php,第35行] 注意(8):未定义索引:FiscalYear [APP / Controller \ UpdatedTranscriptsController.php,第36行] 注意(8):未定义索引:whereTerm [APP / Controller \ UpdatedTranscriptsController.php,第37行] 注意(8):未定义索引:updateTerm [APP / Controller \ UpdatedTranscriptsController.php,第38行] 数据库错误 PDOException 文档API 错误:SQLSTATE [42000]:[Microsoft] [用于SQL Server的ODBC驱动程序17] [SQL Server]过程vCalcTranscriptUpdateTermsProcedure没有提供参数和参数。