我有一个链接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>
我的观点最终没有在数据库中获得该用户的任何对象。
答案 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