当前位置: 首页 > news >正文

专业网站建设的公司排名网站开发流程及详解

专业网站建设的公司排名,网站开发流程及详解,一个前端页面多少钱,浙江建设厅继续教育网站首页目录 1.查找单个记录: 2.查找多个记录: 3.条件查询: 4.关联查询: 假设User模型有一个名为orders的多对一关联关系。 5.排序和分组: 6.数据操作: 7.事务处理: 8.命令查询: 9…

目录

1.查找单个记录:

2.查找多个记录:

3.条件查询:

4.关联查询: 假设User模型有一个名为orders的多对一关联关系。

5.排序和分组:

6.数据操作:

7.事务处理:

8.命令查询:

9.count查询

 10.使用ActiveQuery类提供的各种方法来构建复杂的查询


Yii2是一个功能丰富的PHP框架,提供了大量的数据库查询方法和功能,以便开发人员能够方便地对数据库进行操作。以下是Yii2中一些常用的数据库查询方法的总结:

这些示例假设你已经有了一个名为User的模型,它代表了数据库中的user表,并且该表有id、username、email和status字段。

1.查找单个记录:


// 查找ID为1的用户
$user = User::findOne(1);

2.查找多个记录:


// 查找所有状态为'active'的用户
$users = User::findAll(['status' => 'active']);

3.条件查询:


// 查找状态为'active'的用户
$users = User::find()->where(['status' => 'active'])->all();

4.关联查询: 假设User模型有一个名为orders的多对一关联关系。


// 获取用户及其订单信息
$users = User::find()->with('orders')->all();

5.排序和分组:


// 按照用户名升序排序
$users = User::find()->orderBy('username ASC')->all();// 按照状态分组
$users = User::find()->groupBy('status')->all();

6.数据操作:


// 插入新用户
$newUser = new User();
$newUser->username = 'newuser';
$newUser->email = 'newuser@example.com';
$newUser->status = 'active';
$newUser->save(); // 或者 $newUser->insert();// 更新用户
$user = User::findOne(1);
$user->username = 'updateduser';
$user->save(); // 或者 $user->update();// 删除用户
$user = User::findOne(1);
$user->delete();

7.事务处理:


// 开始事务
$transaction = Yii::$app->db->beginTransaction();try {// 执行一系列数据库操作...$user->save();// 其他操作...// 提交事务$transaction->commit();
} catch (\Exception $e) {// 回滚事务$transaction->rollBack();// 处理异常...
}

8.命令查询:


// 执行原生SQL命令
$command = Yii::$app->db->createCommand('SELECT * FROM user WHERE status = :status', [':status' => 'active']);
$users = $command->queryAll();

9.count、sum查询


// count
// 假设有一个名为Post的模型类,代表博客文章
// Post是ActiveRecord的一个实例
$query = Post::find(); // 创建一个查询实例// 统计所有文章的数量
$count = $query->count(); // 返回文章的总数// 你也可以将统计结果作为数组的一部分返回
$ posts = Post::find()->count();// 如果要统计带有特定条件的文章数量
$count = Post::find()->where(['status' => 'published'])->count(); // 只统计发布状态的文章// 你也可以链式调用其他查询方法
$count = Post::find()->where(['status' => 'published'])->limit(10)->count(); // 统计最近10篇发布状态的文章的数量// sum
// 以下是一个示例,展示了如何使用 yii\db\Query 类执行 sum 查询:
use yii\db\Query;// 创建一个 Query 对象
$query = new Query();// 选择要查询的表
$query->from('your_table_name');// 使用 sum() 函数计算某个字段的总和
$sum = $query->sum('your_field_name');// 执行查询并获取结果
$result = $query->one();//还可以使用 select() 方法来指定要查询的字段,例如:
use yii\db\Query;$query = new Query();// 选择要查询的表
$query->from('your_table_name');// 使用 sum() 函数计算某个字段的总和
$query->select(['sum(your_field_name)']);// 执行查询并获取结果
$result = $query->scalar();

 10.使用ActiveQuery类提供的各种方法来构建复杂的查询



// 使用比较操作符
$query = Post::find()->where(['status' => 'published'])->andWhere(['created_at' => '<', new \DateTime()]); // 查找发布状态的文章,且创建时间早于当前时间的文章// 使用范围查询
$query = Post::find()->where(['status' => 'published'])->andWhere(['created_at' => BETWEEN, [new \DateTime('2023-01-01'), new \DateTime('2023-12-31')]]); // 查找发布状态的文章,且创建时间在2023年1月1日至2023年12月31日之间的文章// 你也可以直接使用范围查询的简写形式
$query = Post::find()->where(['status' => 'published'])->andWhere(['created_at' => 'BETWEEN', [new \DateTime('2023-01-01'), new \DateTime('2023-12-31')]]); // 同上,使用BETWEEN进行范围查询// 你可以使用链式调用来组合多个条件
$query = Post::find()->where(['status' => 'published'])->andWhere(['created_at' => '<', new \DateTime()])->orWhere(['created_at' => BETWEEN, [new \DateTime('2023-01-01'), new \DateTime('2023-12-31')]]); // 查找发布状态的文章,且创建时间早于当前时间,或者创建时间在2023年1月1日至2023年12月31日之间的文章// 你还可以使用`notBetween`来查询不在指定范围内的数据
$query = Post::find()->where(['status' => 'published'])->andWhere(['created_at' => 'NOT BETWEEN', [new \DateTime('2023-01-01'), new \DateTime('2023-12-31')]]); // 查找发布状态的文章,且创建时间不在2023年1月1日至2023年12月31日之间的文章Post::find()->where(['in', 'uid', $arr])->andWhere(['not in', 'order_status', [-1, 2]])->groupBy('uid')->count();Post::find()->where(['type' => '1'])->andWhere(['between', 'updated_at', $curMonth, $nexMonth])->sum('price');Post::find()->select('id, nickname, mobile, money, status, created_at')->where(['uid' => $this->uid])->andWhere(['>', 'created_at', $data['startTime']-(3600*24*2)])->andWhere(['<=', 'created_at', $data['startTime']-(3600*24)])->orderBy('created_at desc')->asArray()->one();

请注意,这些示例中的User模型应当是一个已经定义好的模型类,它继承了yii\db\ActiveRecord。在实际应用中,你可能需要根据具体的表结构和业务逻辑来调整这些示例代码。此外,Yii2的数据库操作通常会结合其 ActiveForm 和 GridView 等组件来提高开发效率。

http://www.yayakq.cn/news/73174/

相关文章:

  • wordpress建站教程书籍seo与网站优化
  • 门户网站做啥如何创建自媒体手机网站
  • 浙江城乡建设部网站首页知乎 做网站的公司 中企动力
  • 哪里有网站设计公司网络推广可做哪些方面
  • wordpress更换网站logo哪些网站做平面单页好看
  • 企业网站推广方案设计本地搭建网站网站后台
  • 自动网站建设系统cms哪些招聘网站做海外招聘
  • 电子公司网站源码局域网网站架设
  • 毕节做网站的公司wordpress cms 教程
  • 馨端网站建设棋牌游戏开发多少钱
  • 哪家做公司网站wordpress飘雪插件
  • 直播网站建设目的wordpress 4.9.1 主题
  • 柬埔寨网站建设运营维护上海建设人才网证书查询
  • 企业自建站案例wordpress无法修改主题
  • 用户体验的互动展示网站龙江做网站
  • 网站开发职业规划实施大淘客做网站
  • 网站建设服务类型现状档案信息网站建设的意义
  • 微信网站合同建站模板免费
  • 网站建设能挣钱螺蛳粉营销策划方案
  • 单位建网站wordpress恢复老版本
  • 做微信商城网站建设国外直播做游戏视频网站有哪些
  • 网站建设的架构设计百度广州分公司待遇
  • 有哪些做红色旅游景点的网站电脑在哪网站接做扇子单
  • 网站建设的美图微信小程序卖货怎么弄
  • 做网站用windows还是linux外贸推广软件有哪些
  • 中国铁工建设有限公司网站怎么做网址
  • 七星彩网站建设用什么软件做网站hao
  • 专业建筑设计网站平台网站的栏目
  • 网站续费怎么做科技成果转化平台
  • 北京微信网站制作费用诚客网站建设