1. 程式人生 > >Yii2增刪改查-查詢 find

Yii2增刪改查-查詢 find

概述

這裡只是簡單講一下用法,如果想更詳細的瞭解,去看 官方手冊 比較好。

Yii內部提供了一套查詢方法,方便我們更加規範的查詢sql,這些方法安全,並且組合起來會更加高效。

小試牛刀

$sql = 'SELECT * FROM {{user}} WHERE id = 1';
$userInfo = User::findBySql($sql)->all();
/* 查詢出來一條資料
array(1) {
  [0]=>
  object(app\models\User)#49 (8) {
    ["_attributes":"yii\db\BaseActiveRecord":private]=>
    array(2) {
      ["id"]=>
      int(1)
      ["name"]=>
      string(6) "張三"
    }
    ["_oldAttributes":"yii\db\BaseActiveRecord":private]=>
    array(2) {
      ["id"]=>
      int(1)
      ["name"]=>
      string(6) "張三"
    }
    ["_related":"yii\db\BaseActiveRecord":private]=>
    array(0) {
    }
    ["_errors":"yii\base\Model":private]=>
    NULL
    ["_validators":"yii\base\Model":private]=>
    NULL
    ["_scenario":"yii\base\Model":private]=>
    string(7) "default"
    ["_events":"yii\base\Component":private]=>
    array(0) {
    }
    ["_behaviors":"yii\base\Component":private]=>
    array(0) {
    }
  }
}
*/

可以看出來資料被我們查出來了,並且是個二維陣列,資料在二維陣列中的物件中。但是這種查詢方式並不安全,極有可能會被sql注入,為了防止這種情況,Yii提供了一種方式。

深入瞭解

$sql = 'SELECT * FROM {{user}} WHERE id = :id';
$userInfo = User::findBySql($sql,array(':id'=>'1'))->all();
// 跟上面同樣的效果,這裡我就不列出來了
// 這種查詢方法極有效的阻止了sql的注入

// 實際Yii已經把sql那個部分也封裝起來了
$userInfo = User::find()->where(['id'
=>1])->all(); // 查詢出來的結果同樣跟上面一樣 // 我們試試當id大於1時,該怎麼寫? $userInfo = User::find()->where(['>' , 'id' , '1'])->all(); // 我們假如要id=1和id=3的資料,該怎麼寫? $userInfo = User::find()->where(['or' , 'id = 1' , 'id = 3'])->all(); // 光以陣列的方式顯示即可 $userInfo = User::find()->where(['>' , 'id' , '1'])->asArray()->all(); /* 出來的結果如下 array(2) { [0]=> array(2) { ["id"]=> string(1) "2" ["name"]=> string(6) "李四" } [1]=> array(2) { ["id"]=> string(1) "3" ["name"]=> string(6) "王五" } } */
// 有時候我們只需要列出來一條資料 $userInfo = User::find()->where(['id'=>1])->asArray()->one(); /* 所以結果只是一個一維陣列 array(2) { ["id"]=> string(1) "1" ["name"]=> string(6) "張三" } */

關於where裡面還有很多查詢方式,例如:betweenbetweennot betweenlike等等,你可以看看我的另一篇文章【Yii增刪改查-查詢 where引數詳細介紹】。

相關推薦

Yii2刪改-查詢 find

概述 這裡只是簡單講一下用法,如果想更詳細的瞭解,去看 官方手冊 比較好。 Yii內部提供了一套查詢方法,方便我們更加規範的查詢sql,這些方法安全,並且組合起來會更加高效。 小試牛刀

學生資訊的刪改-------查詢模組

大致思路:將資料從資料庫中查詢出來,顯示到頁面上,形成列表 查詢需要一個結果集:ResultSet rs = null; 想要查詢,需要遍歷 資訊查詢業務處理 梳理: 1.編寫查詢頁面 2.在servlet接收查詢條件資訊 3.在DAO中處理查詢SQL語句

yii2刪改語句

User::find()->all(); 此方法返回所有資料; User::findOne($id); 此方法返回 主鍵 id=1 的一條資料(舉個例子); User::find()->where(['name' => '小夥兒'])-&g

Yii2刪改

概述 yii當然也提供,封裝了一套增加、修改、刪除的方法,以供大家方便使用。 刪除操作 // 單條資料刪除 $userInfo = User::find()->where(['>

yii2 框架的 AR 和 DAO 刪改

寫法 mod sar 增刪改查 title isn function rec 自己 自己做個總結 方便以後查找使用 /** * yii 的增刪改查 */ //增 public function add1($data) {

2017-6-1 Linq 基礎查詢刪改

load title -1 style part ids deb control idt 用小型人員管理系統的項目實戰來練習linq的基礎增刪改查: using System; using System.Collections.Generic; using System

MySQL刪改之【多表聯合查詢

包括 實現 鼠標 thead 黃曉明 eba 字符 order 有時 很多時候在實際的業務中我們不只是查詢一張表。 在電子商務系統中,查詢哪些用戶沒有購買過產品。 銀行中可能查詢違規記錄,同時查詢出用戶的 查詢中獎信息和中獎人員的基本信息。 以上只是列的情況

php連接數據庫刪改----多條件查詢

打開 logs sel != lba cnblogs 表單 技術 mit 關於查詢,可以直接寫在主頁面上 來進行查詢 首先,先建立一個表單 <form method="post" action="crud.php"> <table>

關於C#三層架構刪改中的“查詢”問題

可能 一行 rep tro spa 結束 簡單 問題: .get 序:問題總是反復出現,可能只是一個小小的問題,但是就像肉中刺。 問題: 關於“姓名”字段的拼接問題 姓名字段的拼接:this.Repeater1.DataSource = db.GetList(" UNa

012:子查詢刪改

err eat 多個 cal mat 行數 分類 查詢 同時 一. 子查詢 子查詢就是指在一個select語句中嵌套另一個select語句。同時,子查詢必須包含括號。 MySQL 5.6.x 版本之前,MySQL的子查詢性能較差,但是從5.6開始,不存在性能差的問題。

5月11日 python學習總結 子查詢、pymysql模塊刪改、防止sql註入問題

hal port 註入 any dict lex absolut username 參數 一、子查詢    子查詢:把一個查詢語句用括號括起來,當做另外一條查詢語句的條件去用,稱為子查詢 select emp.name from emp inner join dep on

mysql資料庫的簡單刪改,合併欄位,拼接字元操作,用java完成將一張表中的查詢結果合併存入另一張表的指定欄位

首先問題描述:我現在有兩個表,一個表是關鍵詞,一個表是含有關鍵詞的標籤,需要做的就是在關鍵詞表中新建一個標籤欄位,把包含該關鍵詞的全部標籤存入其中。比如關鍵詞是Java,標籤可能有Java開發,Java後臺等。我這裡關鍵詞有4000個,標籤有40000個,我用了小段java程式碼+sql的函式就完成

潭州課堂25班:Ph201805201 django框架 第六課 模型類刪改,常用 的查詢查詢條件 (課堂筆記)

在檢視函式中寫入增刪改查的方法 增:     在 urls 中配置路徑 :    查: 1: 在後臺列印資料  在模型類中新增格式化輸出 : QuerySet,反回的是個物件,可以按索引聚會,用 for

Mybatis實現刪改、模糊查詢、多條件查詢

專案總體結構如下: 資料庫準備:在 資料庫dbmybatis中建立一張category的表,我錄入了幾條記錄方便測試,表字段結構如下圖: 1.建立好了表後使用idea新建一個Maven專案,pom.xml加入如下依賴: <dependencies> &

$Django 多表操作(刪改,基於雙下劃線的查詢)

 1 建立多表模型(詳情見程式碼)  #用了OneToOneField和ForeignKey,模型表的欄位,後面會自定加_id class Zuozhe (models.Model): id = models.AutoField (primary_key=True)

SQL語句刪改/高階查詢

有道筆記檢視常用sql語句 sql高階查詢語句 SQL語句規範 分號結尾 關鍵詞大小寫不區分 建立/刪除資料庫 建立:CREATE DATABASE 資料庫名 ysj_example; 刪除:DROP DATABASE 資料庫名 ysj_example; 建立/刪

mongodb的基本刪改與高階查詢指令及聚合命令

一、MongoDB中關於database的基本指令 1 ###關於database的基本指令 2 #查詢當前使用的資料庫指令 3 db 4 5 #查詢所有的資料庫指令 6 show dbs#或者:show databases 7 8 #切換資料庫指令 9 use db_name

springboot jpa 分頁查詢(刪改)總結

springboot  jpa 分頁查詢(增刪改查)總結          jpa 大白話可以把它理解為一個外掛,在開發過程中,目的在於可以提供你更加簡單的程式設計模型,簡單方便 。       &

Python的Django框架-資料庫查詢(刪改)

建立專案 django-admin startproject django_model 建立應用 python manage.py startapp model 配置應用 model, 編輯 django_model/settings.py

微服務架構實戰篇(三):Spring boot2.0 + Mybatis + PageHelper實現刪改和分頁查詢功能

簡介 該專案主要利用Spring boot2.0 +Mybatis + PageHelper實現增刪改查和分頁查詢功能,快速搭建一套和資料庫互動的專案。 小工具一枚,歡迎使用和Star支援,如使用過程中碰到問題,可以提出Issue,我會盡力完善該Starter 版本基礎