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 ...
随机推荐
- Android中使用HttpClient发送Get请求
这里要指定编码,不然服务器接收到的会是乱码的.
- PHP抓取网络数据
涉及到的知识点不多 file_get_contents:读取数据: preg_match_all:正则匹配: 和匹配之后的数据分析. 不同网页所需要抓取的数据是不同的,所以正则表达式自然也不一样,针对 ...
- php 、asp、 java、 c#、 delphi之间的语言对照
PHP是一种跨平台的server端的嵌入式脚本语言.它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发人员能够高速地写出动态产生页面. 它支持眼下绝大多数数据库. 另 ...
- Java bean 是个什么概念?
Java语言欠缺属性.事件.多重继承功能.所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码.Java Bean正是编写这套胶水代码的惯用模式或约定.这些约定包括getX ...
- 集合Map映射(使用xml文件)
Hibernate允许我们将Map元素与RDBMS进行映射. 我们知道,List和Map是基于索引的集合. 在map的情况下,索引列作为键,元素列用作值. 使用xml文件在集合映射中映射Map的示例 ...
- Eclipse 工作空间(Workspace)
Eclipse 工作空间(Workspace) eclipse 工作空间包含以下资源: 项目 文件 文件夹 项目启动时一般可以设置工作空间,你可以将其设置为默认工作空间,下次启动后无需再配置: 工作空 ...
- python 类成员的修饰符
类的所有成员在上一步骤中已经做了详细的介绍,对于每一个类的成员而言都有两种形式: 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法 私有成员和公有成员的定义不同:私有成员命名时,前两个字 ...
- 用Java实现一些常见的问题
八皇后 public class EightQueen { private static final int ROW = 4; private static final int COL = 4; pr ...
- mac与phy怎样实现网络自适应
这两天改动网卡驱动以实现10/100/1000M自适应,因此研究了下phy芯片和emac驱动怎样兼容10/100/1000M网络环境,记录在此. 网络中设备端数据链路层由mac芯片和phy芯片组成.p ...
- What is special about /dev/tty?
ls -la /dev/tty shows the output: crw-rw-rw- 1 root tty 5, 0 Dec 14 22:21 /dev/tty The 'c' means it' ...