thinkphp5.1 自定义类 传递 数据表连接参数

存放自定义类的文件夹

在thinkphp 系统目录下有一个extend文件夹,里面用于放置自定义类。
在里面新建catetree文件夹,建文件catetree.php文件,内容如下:

<?php
namespace catetree;

class Catetree
{

这就是自定义类的一个顶部代码。

在里面写一个排序功能的方法

//栏目排序
    //data 数据
    //obj 哪个表
    public function cateSort($data,$obj)
    {
        foreach($data as $k => $v){
            $obj->update(['id'=>$k,'sort'=>$v]);
        }
    }

控制器中调用

在需要的控制器中use刚才的文件
use catetreeCatetree;
在需要的方法中
$cate = new Catetree();
就可以使用这个类了。

传递数据表连接信息

即然是写在自定义类里,这说明至少有两个及以上的方法会引用,而排序功能是需要用到表名连接信息,我们要手动传过去。

首先定义一个连接表的变量
$cateObj = db('cate');

在往Catetree传值时用
$cate->cateSort($data['sort'],$cateObj);

放置完整的这部分控制器代码

<?php
namespace appshopacontroller;
use catetreeCatetree;

class Cate extends BaseController
{
    public function lst()
    {
        $cate = new Catetree();
        $cateObj = db('cate');
        if(Request()->isPost()){
            $data = input('post.');
            $cate->cateSort($data['sort'],$cateObj);
            $this->success('排序成功','lst');
        }

$data是一个维数组,我们只需要将需要的sort一维内容传递。

评论

大侠名号:   验证暗号: 点击我更换图片

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND