yii框架模型操作
命令行自动生成model模型类
php yii gii/model --ns=app\\modules\\v1\\models --tableName=SCM_tbInvBalance_new --modelClass=SCMTbInvBalanceNew
1、relation使用方法
```
CategoryController: /**
* @ hasMany 关系
*/
public function actionGetproduct(){
$modelCategory = new Category();
$category = $modelCategory::find()->where(['cid'=>1])->one();
$product = $category->getProduct()->andWhere('status=1')->all();
var_dump($product);
} Category(Model): public function getProduct(){
return $this->hasMany(Product::className(), array('cid'=>'cid'));
} ``` 2、Yii2.0 数据库查询
```
User::find()->all(); 此方法返回所有数据; User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子); User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name' => '小伙儿'] 的一条数据; User::find()->where(['name' => '小伙儿'])->all(); 此方法返回 ['name' => '小伙儿'] 的所有数据; User::find()->orderBy('id DESC')->all(); 此方法是排序查询; User::findBySql('SELECT * FROM user')->all(); 此方法是用 sql 语句查询 user 表里面的所有数据; User::findBySql('SELECT * FROM user')->one(); 此方法是用 sql 语句查询 user 表里面的一条数据; User::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id'); 统计符合条件的总条数; User::find()->andFilterWhere(['like', 'name', '小伙儿']); 此方法是用 like 查询 name 等于 小伙儿的 数据 User::find()->one(); 此方法返回一条数据; User::find()->all(); 此方法返回所有数据; User::find()->count(); 此方法返回记录的数量; User::find()->average(); 此方法返回指定列的平均值; User::find()->min(); 此方法返回指定列的最小值 ; User::find()->max(); 此方法返回指定列的最大值 ; User::find()->scalar(); 此方法返回值的第一行第一列的查询结果; User::find()->column(); 此方法返回查询结果中的第一列的值; User::find()->exists(); 此方法返回一个值指示是否包含查询结果的数据行; User::find()->batch(10); 每次取 10 条数据 User::find()->each(10); 每次取 10 条数据, 迭代查询
查
$userModel = 'app\modules\v1\models\Tbuser';
$user = $userModel::find('fsShopGUID', 'fsUserId')->where(['fsUserId' => $userName, 'fsShopGUID' => $fsShopGUID])->asArray()->one()//查询获取一条记录
$userAll = $userModel::find('fsShopGUID', 'fsUserId')->where(['fsUserId' => $userName, 'fsShopGUID' => $fsShopGUID])->asArray()->all()//查询获取所有满足条件的记录
新增
$connection->createCommand()->insert('SCM_tbParamValue', [ 'fsParamId' => $account_code, 'fsParamValue' => $set_status, 'fiStatus' => 1, 'fsCreateUserId' => $this->user['fsUserId'], 'fsCreateTime' => date('Y-m-d H:i:s'), 'fsCreateUserName' => $this->user['fsUserName'], 'fsShopGUID' => $this->user['fsShopGUID'],])->execute();
批量新增
$connection->createCommand()->batchInsert('SCM_tbInvBalance', ['fsYYMM', "fsStorageId", 'fsMaterialId', "fsMaterialName", "fsModelno", "fsUnitId", "fiStatus", "fdBeginQty", "fdBeginBal","fdEndQty", "fdEndBal", "fsCreateTime", "fsCreateUserId", "fsCreateUserName", "fsShopGUID","fdBeginCost","fdEndCost"], $InvBalance )->execute();
更新
$modify = [ 'fsParamValue' => $set_status, 'fsUpdateTime' => date('Y-m-d H:i:s'), 'fsUpdateUserId' => $this->user['fsUserId'], 'fsUpdateUserName' => $this->user['fsUserName'] ];
$connection->createCommand()->update('SCM_tbParamValue', $modify, '"fsParamId"=:fsParamId and "fsShopGUID"=:fsShopGUID', [':fsParamId' => $query['fsParamId'], ':fsShopGUID' => $this->user['fsShopGUID']])->execute();
删除
$connection->createCommand()->delete('SCM_tbInvBalance', '"fsShopGUID" = \'' . $this->user['fsShopGUID'] . '\'')->execute();
yii框架模型操作的更多相关文章
- ThinkPHP框架模型连贯操作(八)
原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...
- Yii 框架学习--01 框架入门
Yii 是一个高性能的,适用于开发 WEB2.0 应用的 PHP 框架. Yii目前有两个主要的版本: 2.0 和 1.1.本文以YII 2.0.7为例. 环境需求 Yii2.0 框架有一些系统上的需 ...
- YII框架源码分析(百度PHP大牛创作-原版-无广告无水印)
YII 框架源码分析 百度联盟事业部——黄银锋 目 录 1. 引言 3 1.1.Yii 简介 3 1.2.本文内容与结构 3 2.组件化与模块化 4 2.1.框架加载和运行流程 4 ...
- Yii框架tips(转)
yii的一些小的技巧 http://www.yiichina.com/topic/151 db组件 'schemaCachingDuration'=>3600, 为什么不起做用?需要开缓存 如何 ...
- Yii框架tips
db组件 'schemaCachingDuration'=>3600, 为什么不起做用?需要开缓存 如何在页面下边显示sql的查询时间在log组件的routes中加入 array('class' ...
- yii框架基本操作
<?php namespace app\controllers; use yii\web\Controller; use app\models\DemoForm; use app\models\ ...
- 关于Yii框架的基础知识
第一次写博文,也不知道怎么写,不太熟悉,带小伙伴学习一样我日常使用的Yii框架. PHP中的开发框架有很多,比如:ThinkPHP.Yii.CI.Laravel.Phalcon等.现在流行度最高的是L ...
- PHP开发框架之YII框架学习——碾压ThinkPHP不是梦
前 言 JRedu 程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的 ...
- YII框架的使用
YII框架的使用 spit: 吐痰,吐口水, 过去式: spat spat: 本身也可以作为一个单词, 意思是: "小打小闹""小的吵闹""小争吵&q ...
随机推荐
- Java并发编程(四)可见性
除了使用synchronized关键字用于实现原子性或者确定"临界区(Critical Section)",还有一个重要的方面就是:内存的可见性(Memory Visibility ...
- 个人博客开发之 全局配置文件settings设置
项目源码下载:http://download.vhosts.cn # -*- coding: utf-8 -*- """ Django settings for cpyb ...
- postgresql on centos (sequelize+pg+nodejs):Failed to find PostgresSQL server.Pleast double check your settings
公司的一个项目,使用的nodejs做服务端,数据库是postgresql,在本地时一切ok,放在centos时,postgresql配置ok,可以远程访问,但是nodejs在centos启动时,就会报 ...
- 面向对象JSON的继承(复制)与函数的继承(复制)
今天这里和大家分享下如何复制对象 的属性 创建 对象的方式有三种,这里和大家分享下最常用的几种 1.JSON格式的方式创建对象 2.用函数的方式创建,然后用new关键字实例化对象,关于this的指向问 ...
- 第一百七十四节,jQuery,Ajax进阶
jQuery,Ajax进阶 学习要点: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 在 Ajax 课程中,我们了解了最基本的异步处理方式.本章,我 ...
- Spring MVC多动作控制器
以下示例演示如何使用Spring Web MVC框架的多动作控制器. MultiActionController类用于在单个控制器中分别映射多个URL到对应的方法. 所下所示配置 - package ...
- cobbler 更换dns和dhcp服务器为dnsmasq
1) 需要配置/etc/cobbler/module.conf, 把manage_dns和manage_dhcp改为manage_dnsmasq 2) 重启cobbler和dnsmasq服务,dnsm ...
- SlidingMenu官方实例分析4——AttachExample
AttachExample这个类没有继承BaseActivity,而是FragmentActivity,写到这好像感悟到了 为什么官方现在都推荐使用Fragment而不是Activity,因为Frag ...
- NDK工具制作
NDK工具制作 - Generate a stand-alone toolchain of the NDK, example: `./android-ndk-r10/build/tools/make- ...
- [Python2.x] 利用commands模块执行Linux shell命令
用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要 ...