php - cakephp 出错

标签 php cakephp paypal

这是paypal controller i cakephp的一小段代码

它在我的本地主机上工作正常,但它给我实时错误

如果您需要更多信息,请在评论中写下

取消定义索引用户名

Notice (8): Undefined index: username [APP/Controller/PaymentsController.php]
public function _initPaypal() {
    $config = $this->User->findByUsername('admin');
    $config = $config['Username'];
    App::import('Vendor', 'Paypal/paypal');
    $this->paypal = new Paypal($config['paypal_api_username'],        $config['paypal_api_password'], $config['paypal_signature']);
}

它给了我这样的错误

通知(8) 取消定义索引用户名 在本地主机 它工作正常

谢谢

最佳答案

CakePHP's magic findBy methods以与 find('first') 相同的格式返回,因此您的 $config 结果将由模型的别名而不是您搜索的字段索引。因此,$config['Username'] 应该是 $config['User']。所以你的 Controller Action 应该是这样的:-

public function _initPaypal() {
    $user = $this->User->findByUsername('admin');
    $config = $user['User'];
    App::import('Vendor', 'Paypal/paypal');
    $this->paypal = new Paypal($config['paypal_api_username'], $config['paypal_api_password'], $config['paypal_signature']);
}

我稍微修改了您的变量名,以区分查询结果 ($user) 和 $config(起初读到这让我很困惑)。

我不明白为什么您的示例代码在没有正确别名索引的情况下可以在任何地方运行。

如果这不能解决您的问题,请使用 debug() 检查 $this->User->findByUsername('admin') 返回的内容>print_r() 并确保它正在生成预期的 SQL 查询(并且在您的服务器上有效)。

关于php - cakephp 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30963176/

相关文章:

api - notify_url 不再有效

javascript - paypal自定义确认邮件

php - xhgui 不保存任何数据

php - 在 PHP 中合并类成员

php - 有没有办法记录用 pg_query_params() 传入的数组?

mysql - cakephp3 查找具有选定列的数据

php - 加入两个表并在cakephp的第三个 Controller 中显示数据

php - 在 PHP 版本 5.4.19 中运行 CakePHP 1.2.9

paypal - 我们如何使用paypal payflow来拆分金额

php - 如何使用 php、mysql 和 jQuery 将每一行及其主键单独存储在数据库中