tp5学习第二天

删除特定的记录:delete()

批量删除:destroy()

view模块下显示模式(get)删除三种方法:

因为 如果使用 <a href="delete?id={$teacher->getData('id')}">删除</a>方式删除结果:当前URL对应的会触发index模块下的Delete控制器下的index触发器。thinkphp为了解决这个问题,推出了url助手函数。

1.<a href="{:url('index/Teacher/delete?id=' . $teacher->getData('id'))}">删除</a>
2.<a href="{:url('Teacher/delete?id=' . $teacher->getData('id'))}">删除</a>
3.<a href="{:url('delete?id=' . $teacher->getData('id'))}">删除</a>(推荐)

上述三个方法的不同,在于是否省略了模块名及控制器名。如果生成URL对应的ACTION与当前的ACTION,处于同一模块下,模块名可省略;处于同一控制器下,模块名和控制器名均可以省略。

由原来的http://127.0.0.1/thinkphp5/public/index/teacher/delete?id=1  使用的是?变量名=变量值(GET)的形式

变为:http://127.0.0.1/thinkphp5.0/public/index/teacher/delete/id/1.html 使用助手函数后,变为/变量名/变量值(pathinfo)的形式

此种方式造成的结果是url变成了绝对路径。综上原因controller C层获取数据方式语句也应该有所变化,

由原来的var_dump(Request::instance()->get());

变为:var_dump(Request::instance()->param());

在ThinkPHP中,param()方法相当强大,它既可以获取GET方法传入的数据,又可以获取post方法传入的数据,还可以获取到pathinfo模式(/变量名/变量值)传入的数据;而get()方法只能获取到GET数据,post()方法只能获取到POST数据。

add action -> 用户填写数据 -> 提交到insert action -> insert action处理数据。

edit action -> 从数据库中抓取用户想更新的数据 -> 将数据传给V层 -> 用户修改数据 -> 提交到update action -> update action 处理数据。

数据更新有两种方法,第一种是数组,第二种是对象。

,当我们在ThinkPHP中使用PHP的内置类时,需要在前面加一个\

catch (\Exception $e) {
            return $e->getMessage();

ThinkPHP中错误异常一种,它的名字是:RuntimeException

// 调用分页

$teachers = $Teacher->paginate($pageSize); paginate()方法,并将每页显示记录的条数作为参数进行传入。

{volist name="teachers" id="_Teacher" key="key"}
                <tr>
                    <td>{$key}</td>
                    <td>{$_Teacher->getData('name')}</td>
                    <td>{eq name='_Teacher->getData("sex")' value='0'}男{else /}女{/eq}</td>
                    <td>{$_Teacher->getData('email')}</td>
                    <td>{$_Teacher->getData('username')}</td>
                    <td>
                        <a href="{:url('edit?id=' . $_Teacher->getData('id'))}">编辑</a>
                        &nbsp;&nbsp;
                        <a href="{:url('delete?id=' . $_Teacher->getData('id'))}">删除</a>
                    </td>
                </tr>
                {/volist}

我们简单看下volist这个标签,它里面有一个对是否为数组的判断。
实现的功能就是:如果你是个数组,我就直接循环输出,如果你是个对象,我就输出你里面的数组。

那么在url()函数中,是不需要有任何参数的。url()表示生成 当前模块当前控制器 的链接

每一个cookie对应着唯一的一个session

使用Db::name()来获取某个数据表模型,

使用Resquest::instance()来获取请求模型

使用::get()来获取单条数据模型

使用::select()来获取多条数据模型

使用::destroy来销毁数据。

md5这个函数只能接收字符串类型

猜你喜欢

转载自blog.csdn.net/wocaa2046/article/details/83987106