0

リンクがありますhttp://mywebsite.com/referral/dafa60b2b96c366e165be58649755742

パラメータdafa60b2b96c366e165be58649755742を使用

そのパラメータを取得してデータベースに接続し、そのユーザー情報を取得しようとしましたが、オブジェクトを取得できませんでした。注意:非オブジェクトのプロパティを行に取得しようとしています。

これが私のコードです:

application.ini:

resources.router.routes.referralSelectProduct.route = "/referral/:url"resources.router.routes.referralSelectProduct.defaults.controller=インデックス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>

私の見解では、データベースにそのユーザーのオブジェクトが含まれていません。

4

1 に答える 1

0

私がそれを正しく覚えている場合(zendフレームワーク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コントローラーで

于 2012-12-13T17:18:01.583 に答える