这是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()
或 检查
并确保它正在生成预期的 SQL 查询(并且在您的服务器上有效)。$this->User->findByUsername('admin')
返回的内容>print_r()
关于php - cakephp 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30963176/