本文主要是介绍2024全栈元年-thinkphp-数据操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
thinkphp 数据相关操作
1.单数据查询
1、单数据查询 ,Db::table(‘tp_stu’) 必须加前缀
2、如果只是查询符合条件的使用where find,如果没有符合条件的返回null
3、使用 findOrFail 没有数据会抛出异常
4、使用 findOrEmpty 没有数据会返回【】
5、得到最近一个原生SQL 语句,Db::getlastSql();
<?phpnamespace app\controller;use think\facade\Db;class TestDb
{public function find(){//1、单数据查询 ,Db::table('tp_stu') 必须加前缀//http://localhost:8000/testDb/find// $res = Db::table('tp_stu')->select();//如果只是查询符合条件的使用where find,如果没有符合条件的返回null// $res = Db::table('tp_stu')->where('id', 14)->find();//使用 findOrFail 没有数据会抛出异常// $res = Db::table('tp_stu')->where('id', 4)->findOrFail();//使用 findOrEmpty 没有数据会返回【】$res = Db::table('tp_stu')->where('id', 14)->findOrEmpty();//得到最近一个原生SQL 语句// return Db::getlastSql();return json($res);}
}
2.增删改查
<?phpnamespace app\controller;use think\facade\Db;class Testgsc
{public function find(){$data = Db::name('stu');//数据库链式调用// var_dump($data);// $data = $data->where('id', 4)->select();// dump($data);//save 自动判断新增还是修改,如果传入主键//可以使用save方法统一写入数据,自动判断是新增还是更新数据(以写入数据中是否存在主键数据为依据)。$testData = ["age" => 3035,'name' => '皇帝的新装3bbbb00-x',"address" => 'xian'];echo $testData['age'];echo '<br/>';// $data->save($testData);//如果插入的字段数据库表没有会抛出异常// $n = $data->insert($testData);//strict(false) 忽略异常不错报错//可以使用insertGetId方法新增数据并返回主键值:// $n = $data->strict(false)->insertGetId($testData);// $n = $data->replace()->insert($testData);// echo $n;//数据新增方法//多条新增;//insertAll 添加多条数据$datas = [["name" => "name1",'age' => 24],["name" => "name2",'age' => 20],["name" => "name3",'age' => 22],["name" => "name4",'age' => 29]];// $data->insertAll($datas);//1.更新数据通用方法 save// $data->save([// "id" => 11,// "name" => '修改名字了'// ]);//2、修改数据update方法// $data->where('id', 23)->update([// "name" => '修改了名字用update',// "age" => 200// ]);//3、删除delete 不到条件是全部清空表数据$data->where('id', '>', 10)->delete();#数据查询表达式return Db::getLastSql();return json($data);}
}
这篇关于2024全栈元年-thinkphp-数据操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!