YII2中andWhere多个or查询】的更多相关文章

使用多个or的复杂查询: AND ((`name`='张三') OR (`name`='李四') OR (`name`='王五')) // AND ((`name`='张三') OR (`name`='李四') OR (`name`='王五')) $query->andWhere(['or', ['name' => '张三'], ['name' => '李四'], ['name' => '王五'] ]); ’)) ’))) // AND (((`name`='张三') AND (`…
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order      (id  order_name   customer_id   book_id) 图书表           (id  book_name    author_id) 作者表           (id  author_name) 模型定义 下面是这4个个模型的定义,只写出其中的关联 Customer  class Custom…
表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写出其中的关联 Custom…
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写…
我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写…
表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order      (id  order_name  customer_id   book_id) 图书表Book       (id  book_name   author_id) 作者表Author     (id  author_name) 怎么来确定是一对多 还是一对一呢?这个很简单,比如下面的Customer,一个Customer有多个Order,所以就是一对多:…
YII2中的yii\db\Query给我们提供了非常丰富的方法,方便我们构建复杂的SQL语句. Query()与createCommand最大区别在于,后者直接使用我们写好的SQL语句,前者通过参数和数据库类型生成不同SQL,迁移性更好. <?php namespace app\controllers; use YII; use yii\db\Query; use yii\web\Controller; class TestController extends Controller { publ…
表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order         (id  order_name   customer_id   book_id) 图书表Book          (id  book_name    author_id) 作者表Author        (id  author_name) 模型定义 下面是这4个个模型的定义,只写出其中的关联 Customer class Customer ex…
YII2中ActiveDataProvider可以使用yii\db\Query或yii\db\ActiveQuery的对象,方便我们构造复杂的查询筛选语句. 配合强大的GridView,快速的显示我们想要的数据. 通过上面的两个工具,我们快速的显示用户表信息.用户表结构如下: 我们创建一个用户模型MyUser.php,代码如下: <?php namespace app\models; use yii\db\ActiveRecord; use yii\data\ActiveDataProvider…
当数据过多,无法一页显示时,我们经常会用到分页组件,YII2中已经帮我们封装好了分页组件. 首先我们创建操作数据表的AR模型: <?php namespace app\models; use yii\db\ActiveRecord; class MyUser extends ActiveRecord { public static function tableName() { return '{{%user}}'; } } 然后创建分页的控制器: <?php namespace app\con…
一.以createCommand方式: // YII2中通过createCommand来处理数据库 // 查询多条记录 // {{%user}} 表示如果设置了表前缀,YII会自动帮你替换 $data1 = YII::$app->db->createCommand('select * from {{%user}}')->queryAll(); // 查询一条记录 // createCommand的第二个参数可以进行参数绑定 $data2 = YII::$app->db->cr…
作者:白狼 出处:http://www.manks.top/yii2_modal_baseuse.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. Modal也即是模态窗,通俗的说就是弹窗.是一款bootstrap的js插件,使用效果也是非常好. 为什么要使用modal就不必多说了,一个网站,在开发过程中你说你没用过js弹窗我都不信!好的弹窗不仅仅给人以美感,也会让我们开发效率提高,甚至心情也会舒畅! 我们看看在y…
因为近期给朋友公司做个门户网站,把荒置了6.7年的PHP又重新拾起,发现PHP这些年兴旺多了,很多新的东西看的不明不白,研究了几个框架ZendFramework.thinkphp.Symfony.yii2,也曾经考虑直接用网上现有的开源cms,要么因为商用授权太贵,要么后台太复杂,要么覆盖行业太多导致业务复杂,看了一通代码,头晕得很,最终选择yii2自己开发个轻量的cms+shop系统,慢慢的做,应该能做出后台简单.有自己特色的网站系统来!一下是我的一些开发过程和经验,因为没有考虑太多的技术和通…
EF中使用语句 或存储过程 查询 1.无参数查询 var model = db.Database.SqlQuery("select* from UserInfoes ").ToList(); 2.有参查询 var model = db.Database.SqlQuery("select* from UserInfoes where id=@ID ",new SqlParameter("@ID",id)).ToList(); 3.结合linq查询…
在yii2中,如果想实现类似于post/1,post/update/1之类的效果,官方文档已经有明确的说明 但是如果想把所有的controller都实现,这里采用yii1的方法 'rules' => [ '<controller:\w+>/<id:\d+>' => '<controller>/view', '<controller:\w+>/<action:\w+>/<id:\d+>' =>'<controll…
如何用adoquery对一个表中所有列进行模糊查询: procedure TForm3.Button4Click(Sender: TObject); var ASql,AKey: string; I: Integer; begin //获取关键词 AKey := Trim(Edit1.Text); //生成SQL语句 ASql := 'SELECT * FROM 需要做的事 WHERE '; do begin then begin ASql := ASql + frmDataPool.qry需要…
MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在特定情况下,一个查询语句的条件需要另一个查询语句来获取,内层查询(inner query)语句的查询结果,可以为外层查询(outer query)语句提供查询条件. 特点(规范): ①子查询必须放在小括号中 ②子查询一般放在比较操作符的右边,以增强代码可读性 ③子查询(小括号里的内容)可出现在几乎所…
这个月碰到几个人问我关于"SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?"这个问题.其实这个概括起来就是SQL Server中INNER JOIN与子查询孰优孰劣(IN是子查询的实现方式之一,本篇还是只对比INNER JOIN与子查询IN的性能,如果展开INNER JOIN与子查询性能对比,范围太大了,没法一一详述).下面这篇文章,我们就INNER JOIN与子查询IN这两种写法孰优孰劣,在不同场景下进行一下测试对比一下,希望能解答你心中的疑惑. 下面例子…
c#中如何使用到模糊查询,先举个最简单实用的例子,可在vs控制台应用程序中输出: 定义实体类:  public class Student        {            public int ID { get; set; }             public string Name { get; set; }             public int? Age { get; set; }             public string Sex { get; set; }  …
在js中创建的cookie,默认用yii2中自带的方法Yii::$app->request->cookies->get('abc')获取不到,而用$_COOKIE['abc']又是能获取到,则是以下原因照成的. 查看E:\myYiiDemo\vendor\yiisoft\yii2\web\Request.php中的1218行不难看出,使用yii2中的方法获取cookie的时候,会读取cookieValidationKey中的字串来解密(存cookie的时候也会用它来加密).由于js并没有…
解决Yii2中刷新网页时验证码不刷新的问题 [ 2.0 版本 ] ljfrocky  2015-05-30 19:39:00  1304次浏览 5条评论 10110 在Yii2框架中,如果在表单中使用了验证码,会发现一个奇怪的小问题,就是刷新网页时验证码图片不会跟着刷新. 网上的解决方法 网上的大多数解决方法都是通过修改vendor/yiisoft/yii2/captcha/CaptchaAction.php中的代码来解决,以下两种方法可以任选其一: 1.修改getVerifyCode()方法的…
  1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert into tab1 select * from tab2; 3.同一个表中,将A字段的指赋给B字段: update table_name set B =  A; 4. 将一个表的字段数据插入到另一个表的字段数据中 insert into XTHAME.tab1(pk_bdversion,vbd…
有些时候系统功能过于复杂,这时我们需要通过模块把一些功能区分开来,便于管理与维护. 我用的是Yii2的基本应用程序模板,程序其实已经给我们提供了一个模块,就是app本身.YII2中是可以无限嵌套模块的.不过一般不要超过2层. 我们在app下创建一个modules的目录,并创建一个api子目录,子目录下创建Api.php文件. Api.php代码如下: <?php namespace app\modules\api; use yii\base\Module; //注意模块必须继承自yii\base…
YII2中给我们提供了非常方便的日志组件,只需要简单配置一下就可以使用. 我们在config/web.php中配置如下: return [ //log必须在bootstrap期间就被加载,便于及时调度日志消息到目标 'bootstrap' => ['log'], 'components' => [ 'log' => [ //消息跟踪级别,设置yii\log\Dispatcher::traceLevel属性 //YII_DEBUG开启时,日志消息被记录时,追加最多3个调用堆栈信息 'tra…
在使用YII2中自带的RBAC时,需要先配置config/web.php: return [ // ... 'components' => [ 'authManager' => [ 'class' => 'yii\rbac\DbManager', ], // ... ], ]; 如果你需要运行yii migrate来创建表,那么config/console.php也需要同上面一样配置一下. cmd进入项目目录,运行如下命令: yii migrate --migrationPath=@yi…
YII2中的行为说白了就是对组件功能的扩展,在不改变继承关系的条件下. 行为附加到组件后,行为将注入自已的方法和属性到组件,可以像组件访问自定义的方法和属性一样访问行为. 注意行为是对功能的扩展,不要乱用行为,比如有一个动物类和一个人类,他们各自有自已的名称,身高,体重,这些是属性. 他们都会跑,这个时候我们就可以抽象出来做成一个跑的行为,根据不同需求来扩展他们. 这里我们有两个控制器一个GoodsController,一个OrderController,他们都接收请求,返回数据给客户端,不过有…
验证码的使用是比较频繁的.YII2中已经帮我们做好了封装. 首先我们在控制器里创建一个actions方法,用于使用yii\captcha\CaptchaAction <?php namespace app\controllers; use YII; use yii\web\Controller; class IndexController extends Controller { public function actionIndex() { if (YII::$app->request-&g…
设置Cookie PHP setcookie("name", "Larry", time()+3600); Yii2 $cookies = Yii::$app->response->cookies; $cookies->add(new \yii\web\Cookie([ 'name' => 'name', 'value' => 'Larry', 'expire'=>time()+3600 ])); 创建名为"name&q…
使用EF Core时,如果多次从数据库中查询一个表的同一行数据,DbContext中跟踪(track)的实体到底有几个呢?我们下面就分情况讨论下. 数据库 首先我们的数据库中有一个Person表,其建表脚本如下: CREATE TABLE [dbo].[Person]( ,) NOT NULL, ) NULL, [Age] [int] NULL, [CreateTime] [datetime] NULL, CONSTRAINT [PK_Person] PRIMARY KEY CLUSTERED…
在Delphi中动态地使用SQL查询语句 在一般的数据库管理系统中,通常都需要应用SQL查询语句来提高程序的动态特性.下面介绍如何在Delphi中实现这种功能.在Delphi中,使用SQL查询语句的途径是:在窗体中置入TQuery构件,设置其SQL属性的内容值,此内容为一个字符串数组,数组的每个值对应一行SQL查询语句.可以在程序设计过程中事先指定,也可以在程序运行中重新赋值,即可以实现动态地改变程序中的查询语句.假定程序的窗体中有一个名为Query1的TQuery构件,在程序运行过程中需要改变…