Zend获取数据库记录错误

时间:2012-12-13 17:09:26

标签: php sql database zend-framework

我有一个链接http://mywebsite.com/referral/dafa60b2b96c366e165be58649755742

使用参数dafa60b2b96c366e165be58649755742

尝试将该参数连接到数据库以获取该用户信息,但最终没有得到任何对象:注意:尝试获取非对象的属性.....

这是我的代码:

的application.ini:

  

resources.router.routes.referralSelectProduct.route =“/ referral /:url”   resources.router.routes.referralSelectProduct.defaults.controller = Index   resources.router.routes.referralSelectProduct.defaults.action = referral-select-product   resources.router.routes.referralSelectProduct.reqs.url =“[0-9a-zA-Z] +”

控制器:

public function referralSelectProductAction()
{
    $referral_url = $this->getRequest()->getParam('url');
    $user = $this->_helper->model('Users')->fetchRowByFields(array('url' => $referral_url));

    setcookie('referral_url', $referral_url, time() + 3600*24*30, '/');
}

模型:

    class Application_Model_DbTable_Users extends Sayka_Db_Table_Abstract{
protected $_rowClass = 'Application_Model_DbTable_Row_User';protected $_name = 'users';}

视图:

<div id="content_bottom" class="content"><br/>
<h1>Select the product to refer your friend <span class="colorset_orange"><?php echo $this->user()->first_name; ?></span>.</h1>
<div><a class="refer_submit" href="?email=<?php echo $this->user()->email ?>&first_name=<?php echo $this->user()->first_name; ?>&last_name=<?php echo $this->user()->last_name; ?>" id="btn_free_download">Free Download</a></div>
<div><a class="refer_submit" href="#" id="btn_buy_now">Buy Now</a></div>

我的观点最终没有在数据库中获得该用户的任何对象。

1 个答案:

答案 0 :(得分:0)

如果我记得正确(对于zend framework 1。*):

// Controller
...
$this->view->user = $this->_helper->model('Users')->fetchRowByFields(array('url' => $referral_url));


// View
echo $this->user->email;

确保此$this->_helper->model('Users')->fetchRowByFields(array('url' => $referral_url))能够为您提供所期望的内容。控制器中的var_dump