首页 » PHP笔记 » thinkphp model不能使用$this方法

thinkphp model不能使用$this方法

高蒙 2016/06/18 11:25 3.0k浏览 0评论 Thinkphp


在开发中遇到很奇怪的问题,就是我用D()方法去继承Model的时候,总是使用不到里面的方法。参数怎么传递,都是无效的。

控制器

indexController.class.php


namespace Admin\Controller;
use Think\Controller;
class MemberController extends Controller
{
    public function index()
    {
        $w['status'] = 3;
        D('member')->getList($w);
    }
}

模型

indexModel.class.php


namespace Admin\Model;
use Think\Model;
class MemberModel extends Model
{
    protected $fields = 'id,name,email';
    public function getList($d)
    {
        $this->where($d)->select();
    }
}


这样看起来是不是一点没毛病啊,但是,当我用$this->_sql();打印出执行的sql语句的时候,就会发


现,这里的where(),没有起到作用,意思就是说没有使用到Model里面的方法。

在这里我就很奇怪了,这是为什么呢?

于是,我就去查看Model类。

通过比对发现,我这里用$fields,把Model里面定义的值覆盖了。所以说,我们要把上面自定义的属性


给重新的命名下,就可以了。





相关文章

我有话说

站长昵称:(*)

输入内容:

选个头像:

评论列表

    ...

    高蒙

    男, PHP程序猿

    文章

    484

    标签

    41

    热度

    10w+

    南京, 江苏, 中国

    人生要是没有理想, 那跟咸鱼有什么分别。