五、数据库之增、删、改、查
可以看到在模型文件中提前定义好了俩个方法,不管是啥,先来试试看。
在控制器直接写上如下代码
查询结果
由此可见
find方法是获取全部数据
findFirst只拿第一条数据
find(15)查询id为15的数据
find(“type = ‘mechanical’”); 条件搜索
插入数据
实现代码
public function holdAction () { $user = new User(); $phql = "INSERT INTO User (name, age, sex) VALUES (:name:, :age:, :sex:)"; $status = $user->modelsManager->executeQuery($phql, array( 'name' => "咔咔1", 'age' => 24, 'sex' => 1 )); }
这里需要注意一下这个SQL语句$phql = "INSERT INTO User (name, age, sex) VALUES (:name:, :age:, :sex:)";
在这里User指的是模型,并不是数据库表名。
修改数据
实现代码
public function modifyAction () { $user = new User(); $phql = "UPDATE User SET name = :name:, age = :age:, sex = :sex: WHERE id = :id:"; $status = $user->modelsManager->executeQuery($phql, array( 'id' => 20, 'name' => "咔咔2", 'age' => 25, 'sex' => 2 )); }
删除数据
public function deleteAction () { $user = new User(); $phql = "DELETE FROM User WHERE id = :id:"; $status = $user->modelsManager->executeQuery($phql, array( 'id' => 20 )); }
可以看到已经没有结果了
这时你会发现,在检索数据的时候用的框架自带的方法,到增、删、改使用的类似于原生了。
对于这个问题,如果你是新手建议会那种方式就用那种方式,因为工期可不等你。
使用框架修改的方式,咔咔也会给大家聊到,这个不用担心,下期文章哈!
六、代码优化
在第五节中,你们有没有发现到这个问题。
在所有的方法中,都进行了实例化User这个模型,这样做是可以。
但是你想想如果在项目初期就对满项目的使用这种方式,到中期发现需要改个名字,这时你怎么办?
全局搜索User关键字,改为修改的名字?
说实话这种方式没有几个程序员敢做这样的操作,因为你不知道哪里就会出现问题。
所以咔咔就给你们说一个统一管理这些模型的方法。
可以将模型按照你自己的方式进行声明。
接着在控制器中进行初始化,在这里进行实例化模型。
此时你在想想如果改了表名,我们是不是只需要修改初始化方法里边的名字即可。
总结
本期文章给大家介绍了在使用一个框架时的必备功能。
虽然在增、删、改、查的过程中使用的是类似于原生的方式、这种方式在任何框架中都用的比较少。
但是不管是那种方式,都是代码对吧!不要对其嗤之以鼻,框架功能可以随意变化,但是这些SQL语句是终不会变化的。