Tencent / Biny

Biny is a tiny, high-performance PHP framework for web applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请教一下在学习model中遇到的问题?

gmplato opened this issue · comments

/**
 * 登录
 */
public function login($userID)
{
     //下面注释的没有生效,请问$this->_pk是全局的吗?用什么语法查询$this->_pk内容?
    // $this->DAO->updateByPk($this->_pk, ['loginTime'=>time(), 'count'=>['+'=>1]]);
    // App::$base->session->userId = $this->_pk;

    $this->DAO->updateByPk($userID, ['loginTime'=>time(), 'count'=>['+'=>1]]);
    App::$base->session->userId = $userID;

}


App::$model->person($checkuser['id'])->login($checkuser['id']);  //我是这样调用Model的方法,请指正一下。

——————————————————————

还有咨询一下面这块,这块是实现什么思路,搞不明白;
if ($lastUrl = App::$base->session->lastUrl){
unset(App::$base->session->lastUrl);
$this->response->redirect($lastUrl);
} else {
$this->response->redirect('/');
}

——————————————————————
都是学着老师的框架深入PHP,现在算是入门了。感觉框架很好用,难免有些过不去的问题,哈。

model就是模型对象 具体概念用法可以参考 http://www.billge.cc/#model
你这里的login方法其实不用传$userId,person模型本身应该在创建时就赋值了userId属性 直接

$this->DAO->updateByPk($this->id, ['loginTime'=>time(), 'count'=>['+'=>1]]); 
App::$base->session->userId = $this->id

用模型本身的属性应该就可以了

lastUrl 的目的是登录完成后自动跳转至原来的页面地址 比如用户进了a.html 发现没登录 跳到login.html 登录完则会自动跳回a.html页面

很高兴Biny能给你带来帮助,都是相互改进学习的过程~

1.是的,用$this->id就可以了,我开始以为“$this->_pk”是指全局指定数据库模型中的ID字段。
protected $_pk = 'id'; //我也是根据这里定义猜想的;

2.lastUrl这个方法我没有想到前端会有登陆的问题。因为我现在的整理后端。一时间转不过弯了,哈。