国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison php教程 PHP開發(fā) Explication détaillée de l'ajout, de la suppression, de la modification et de l'interrogation des opérations de la base de données Yii2.0

Explication détaillée de l'ajout, de la suppression, de la modification et de l'interrogation des opérations de la base de données Yii2.0

Jan 03, 2017 am 09:32 AM

1. Requête simple?:

]: 根據(jù)查詢結果返回查詢的第一條記錄。

[[all()]]: 根據(jù)查詢結果返回所有記錄。

[[count()]]: 返回記錄的數(shù)量。

[[sum()]]: 返回指定列的總數(shù)。

[[average()]]: 返回指定列的平均值。

[[min()]]: 返回指定列的最小值。

[[max()]]: 返回指定列的最大值。

[[scalar()]]: 返回查詢結果的第一行中的第一列的值。

[[column()]]: 返回查詢結果中的第一列的值。

[[exists()]]: 返回一個值,該值指示查詢結果是否有數(shù)據(jù)。

[[where()]]: 添加查詢條件

[[with()]]: 該查詢應執(zhí)行的關系列表。

[[indexBy()]]: 根據(jù)索引的列的名稱查詢結果。

[[asArray()]]: 以數(shù)組的形式返回每條記錄。

[code=php]Customer::find()->one();    此方法返回一條數(shù)據(jù);

Customer::find()->all();    此方法返回所有數(shù)據(jù);

Customer::find()->count();    此方法返回記錄的數(shù)量;

Customer::find()->average();    此方法返回指定列的平均值;

Customer::find()->min();    此方法返回指定列的最小值 ;

Customer::find()->max();    此方法返回指定列的最大值 ;

Customer::find()->scalar();    此方法返回值的第一行第一列的查詢結果;

Customer::find()->column();    此方法返回查詢結果中的第一列的值;

Customer::find()->exists();    此方法返回一個值指示是否包含查詢結果的數(shù)據(jù)行;
Customer::find()->asArray()->one();    以數(shù)組形式返回一條數(shù)據(jù);  
  
Customer::find()->asArray()->all();    以數(shù)組形式返回所有數(shù)據(jù);
Customer::find()->where($condition)->asArray()->one();    根據(jù)條件以數(shù)組形式返回一條數(shù)據(jù);  
  
Customer::find()->where($condition)->asArray()->all();    根據(jù)條件以數(shù)組形式返回所有數(shù)據(jù);
Customer::find()->where($condition)->asArray()->orderBy('id DESC')->all();    根據(jù)條件以數(shù)組形式返回所有數(shù)據(jù),并根據(jù)ID倒序;

2. Requête associée?:

[[ActiveRecord::hasOne()]]:返回對應關系的單條記錄
[[ActiveRecord::hasMany()]]:返回對應關系的多條記錄[/code]

Exemple d'application?:

);
    }
     
    public function getCountry()
    {
        //客戶和國家是一對一的關系所以用hasOne
        return $this->hasOne(CountrysModel::className(), ['id'=>'Country_id']);
    }
    ....
}
      
// 查詢客戶與他們的訂單和國家
CustomerModel::find()->with('orders', 'country')->all();

// 查詢客戶與他們的訂單和訂單的發(fā)貨地址
CustomerModel::find()->with('orders.address')->all();

// 查詢客戶與他們的國家和狀態(tài)為1的訂單
CustomerModel::find()->with([
    'orders' => function ($query) {
        $query->andWhere('status = 1');
        },
        'country',
])->all();

:with中的orders對應getOrders

<b>常見問題:</b>

1.在查詢時加了->select();如下,要加上order_id,即關聯(lián)的字段(比如:order_id)比如要在select中,否則會報錯:undefined index order_id

// 查詢客戶與他們的訂單和國家
CustomerModel::find()->select(&#39;order_id&#39;)->with(&#39;orders&#39;, &#39;country&#39;)->all();
)->one();  
// 查詢年齡為30,狀態(tài)值為1的客戶  
$customer = Customer::findOne([&#39;age&#39; => 30, &#39;status&#39; => 1]);  
$customer = Customer::find()->where([&#39;age&#39; => 30, &#39;status&#39; => 1])->one();  
// 查詢key值為10的所有客戶  
$customers = Customer::findAll(10);  
$customers = Customer::find()->where([&#39;id&#39; => 10])->all();  
// 查詢key值為10,11,12的客戶  
$customers = Customer::findAll([10, 11, 12]);  
$customers = Customer::find()->where([&#39;id&#39; => [10, 11, 12]])->all();  
// 查詢年齡為30,狀態(tài)值為1的所有客戶  
$customers = Customer::findAll([&#39;age&#39; => 30, &#39;status&#39; => 1]);  
$customers = Customer::find()->where([&#39;age&#39; => 30, &#39;status&#39; => 1])->all();  
  
<b>where()條件:</b>  
  
$customers = Customer::find()->where($cond)->all();   
  
$cond寫法舉例:  
  
// SQL: (type = 1) AND (status = 2).  
$cond = [&#39;type&#39; => 1, &#39;status&#39; => 2]   
  
// SQL:(id IN (1, 2, 3)) AND (status = 2)  
$cond = [&#39;id&#39; => [1, 2, 3], &#39;status&#39; => 2]   
  
//SQL:status IS NULL  
$cond = [&#39;status&#39; => null]  
  
<b>[[]]</b>:將不同的條件組合在一起,用法舉例:  
  
//SQL:`id=1 AND id=2`  
$cond = [&#39;and&#39;, &#39;id=1&#39;, &#39;id=2&#39;]  
  
//SQL:`type=1 AND (id=1 OR id=2)`  
$cond = [&#39;and&#39;, &#39;type=1&#39;, [&#39;or&#39;, &#39;id=1&#39;, &#39;id=2&#39;]]

[[ou]]?:

], [&#39;id&#39; => [1, 2, 3]]  
  
<b>[[]]:</b>  
  
//SQL:`NOT (attribute IS NULL)`  
$cond = [&#39;not&#39;, [&#39;attribute&#39; => null]]

[[entre]]?: pas entre a le même usage

<b>[[]]: </b>not in 用法類似  
  
//SQL:`id IN (1, 2, 3)`  
$cond = [&#39;in&#39;, &#39;id&#39;, [1, 2, 3]]  
  
//IN條件也適用于多字段  
$cond = [&#39;in&#39;, [&#39;id&#39;, &#39;name&#39;], [[&#39;id&#39; => 1, &#39;name&#39; => &#39;foo&#39;], [&#39;id&#39; => 2, &#39;name&#39; => &#39;bar&#39;]]]  
  
//也適用于內嵌sql語句  
$cond = [&#39;in&#39;, &#39;user_id&#39;, (new Query())->select(&#39;id&#39;)->from(&#39;users&#39;)->where([&#39;active&#39; => 1])]

[[aime]]?:

//SQL:`name LIKE &#39;%test%&#39; AND name LIKE &#39;%sample%&#39;`  
$cond = [&#39;like&#39;, &#39;name&#39;, [&#39;test&#39;, &#39;sample&#39;]]  
  
//SQL:`name LIKE &#39;%tester&#39;`  
$cond = [&#39;like&#39;, &#39;name&#39;, &#39;%tester&#39;, false]  
  
<b>[[]]: </b>not exists用法類似  
  
//SQL:EXISTS (SELECT "id" FROM "users" WHERE "active"=1)  
$cond = [&#39;exists&#39;, (new Query())->select(&#39;id&#39;)->from(&#39;users&#39;)->where([&#39;active&#39; => 1])]

De plus, vous pouvez spécifier n'importe quel opérateur comme suit

//SQL:`id >= 10`
$cond = [&#39;>=&#39;, &#39;id&#39;, 10]

//SQL:`id != 10`
$cond = [&#39;!=&#39;, &#39;id&#39;, 10]

Requêtes courantes?:

// WHERE admin_id >= 10 LIMIT 0,10
User::find()->select(&#39;*&#39;)->where([&#39;>=&#39;, &#39;admin_id&#39;, 10])->offset(0)->limit(10)->all()
// SELECT `id`, (SELECT COUNT(*) FROM `user`) AS `count` FROM `post` 
 $subQuery = (new Query())->select(&#39;COUNT(*)&#39;)->from(&#39;user&#39;); 
 $query = (new Query())->select([&#39;id&#39;, &#39;count&#39; => $subQuery])->from(&#39;post&#39;);
// SELECT DISTINCT `user_id` ... 
User::find()->select(&#39;user_id&#39;)->distinct();

Mise à jour?:

//update();
//runValidation boolen 是否通過validate()校驗字段 默認為true 
//attributeNames array 需要更新的字段 
$model->update($runValidation , $attributeNames); 

//updateAll();
//update customer set status = 1 where status = 2
Customer::updateAll([&#39;status&#39; => 1], &#39;status = 2&#39;); 

//update customer set status = 1 where status = 2 and uid = 1;
Customer::updateAll([&#39;status&#39; => 1], [&#39;status&#39;=> &#39;2&#39;,&#39;uid&#39;=>&#39;1&#39;]);

Supprimer?:

$model = Customer::findOne($id);
$model->delete();

$model->deleteAll([&#39;id&#39;=>1]);

Insertion par lots?:

Yii::$app->db->createCommand()->batchInsert(UserModel::tableName(), [&#39;user_id&#39;,&#39;username&#39;], [
[&#39;1&#39;,&#39;test1&#39;],
[&#39;2&#39;,&#39;test2&#39;],
[&#39;3&#39;,&#39;test3&#39;], 
])->execute();

Voir l'exécution SQL

//UserModel 
$query = UserModel::find()->where([&#39;status&#39;=>1]); 
echo $query->createCommand()->getRawSql();


Ce qui précède est Yii2.0 Explications détaillées des opérations, ajouts, suppressions, modifications et requêtes de la base de données Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.miracleart.cn) !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Mar 27, 2024 pm 09:39 PM

Le langage Go est un langage de programmation efficace, concis et facile à apprendre. Il est privilégié par les développeurs en raison de ses avantages en programmation simultanée et en programmation réseau. Dans le développement réel, les opérations de base de données font partie intégrante. Cet article explique comment utiliser le langage Go pour implémenter les opérations d'ajout, de suppression, de modification et de requête de base de données. Dans le langage Go, nous utilisons généralement des bibliothèques tierces pour faire fonctionner les bases de données, telles que les packages SQL couramment utilisés, gorm, etc. Ici, nous prenons le package SQL comme exemple pour présenter comment implémenter les opérations d'ajout, de suppression, de modification et de requête de la base de données. Supposons que nous utilisons une base de données MySQL.

Exemple de démonstration de l'interface de liste Java?: opération de données pour implémenter les opérations d'ajout, de suppression, de modification et de vérification Exemple de démonstration de l'interface de liste Java?: opération de données pour implémenter les opérations d'ajout, de suppression, de modification et de vérification Dec 20, 2023 am 08:10 AM

L'interface JavaList est l'une des structures de données couramment utilisées en Java, qui peut facilement implémenter des opérations d'ajout, de suppression, de modification et de requête de données. Cet article utilisera un exemple pour montrer comment utiliser l'interface JavaList pour implémenter des opérations d'ajout, de suppression, de modification et de requête de données. Tout d’abord, nous devons introduire la classe d’implémentation de l’interface List dans le code. Les classes courantes sont ArrayList et LinkedList. Les deux classes implémentent l'interface List et ont des fonctions similaires mais des implémentations sous-jacentes différentes. ArrayList est basé sur un tableau réel

Fonctionnement CRUD de MySql?: comment terminer rapidement l'ajout, la suppression, la modification et la requête Fonctionnement CRUD de MySql?: comment terminer rapidement l'ajout, la suppression, la modification et la requête Jun 15, 2023 pm 11:30 PM

MySql est un système de gestion de bases de données relationnelles très couramment utilisé dans les applications Web. Dans tout le processus de développement d’applications Web, les opérations CRUD (Créer, Supprimer, Modifier et Vérifier) ??sont essentielles. Cet article explique comment effectuer rapidement ces opérations dans MySql. Ajouter (Créer) Dans MySql, nous utilisons l'instruction INSERTINTO pour insérer de nouvelles lignes. Par exemple, nous avons un tableau appelé ? utilisateurs ? avec trois colonnes : ? id ?, ? name ? et ? email ?. Maintenant

Comment utiliser les fonctions du framework de collection pour ajouter, supprimer, modifier et interroger des collections en Java Comment utiliser les fonctions du framework de collection pour ajouter, supprimer, modifier et interroger des collections en Java Oct 25, 2023 am 08:45 AM

Comment utiliser les fonctions du framework de collection en Java pour effectuer des opérations d'ajout, de suppression, de modification et de requête sur les collections. En Java, le framework de collection (CollectionFramework) fournit une série de classes et d'interfaces pour faciliter nos opérations de collection. Ces classes et interfaces contiennent un riche ensemble de fonctions qui nous permettent d'ajouter, de supprimer, de modifier et de rechercher des collections plus facilement. Ci-dessous, nous détaillerons comment utiliser les fonctions du framework de collections pour effectuer ces opérations et fournirons des exemples de code spécifiques. L'opération d'ajout d'une collection peut se faire en Java

Comment gérer les opérations d'ajout, de suppression, de modification et de requête des données de formulaire dans le développement de la technologie Vue Comment gérer les opérations d'ajout, de suppression, de modification et de requête des données de formulaire dans le développement de la technologie Vue Oct 10, 2023 pm 02:49 PM

Comment gérer les opérations d'ajout, de suppression, de modification et d'interrogation des données de formulaire dans le développement de la technologie Vue, les opérations d'ajout, de suppression, de modification et d'interrogation des données de formulaire sont des exigences très courantes. Cet article expliquera comment utiliser la technologie Vue pour gérer ces opérations et fournira des exemples de code spécifiques. Tout d'abord, nous devons créer une instance Vue et définir un tableau vide dans l'attribut data pour stocker les données du formulaire. Par exemple?: newVue({data(){return{formData:[

Partage de techniques d'ajout, de suppression, de modification et de vérification de tableaux JSON en Java. Partage de techniques d'ajout, de suppression, de modification et de vérification de tableaux JSON en Java. Sep 06, 2023 am 11:28 AM

Partager des compétences pour ajouter, supprimer, modifier et interroger des tableaux JSON en Java Introduction : JSON (JavaScriptObjectNotation) est un format d'échange de données léger largement utilisé dans diverses applications Internet. En Java, on peut opérer sur JSON en utilisant certaines bibliothèques tierces, comme GSON, Jackson, etc. Cet article partagera quelques techniques pour ajouter, supprimer, modifier et vérifier des tableaux JSON en Java, et fournira des exemples de code correspondants. un,

Opérations d'ajout, de suppression, de modification et d'interrogation de données XML en Python Opérations d'ajout, de suppression, de modification et d'interrogation de données XML en Python Aug 08, 2023 pm 09:17 PM

Opérations d'ajout, de suppression, de modification et d'interrogation sur des données XML en Python XML (Extensible Markup Language) est un format de texte utilisé pour stocker et transmettre des données. En Python, nous pouvons utiliser diverses bibliothèques pour traiter les données XML, dont la plus couramment utilisée est la bibliothèque xml.etree.ElementTree. Cet article présentera comment utiliser Python pour ajouter, supprimer, modifier et interroger des données XML, et l'illustrera à travers des exemples de code. 1. Introduction des modules Tout d'abord, nous devons introduire xml.etree.Eleme

Guide d'utilisation de la base de données ThinkPHP6?: ajouter, supprimer, modifier et vérifier Guide d'utilisation de la base de données ThinkPHP6?: ajouter, supprimer, modifier et vérifier Aug 26, 2023 pm 01:54 PM

Guide d'utilisation de la base de données ThinkPHP6?: ajouter, supprimer, modifier et vérifier Introduction?: Dans le processus de développement Web, le fonctionnement de la base de données est un élément indispensable. La base de données est un outil clé pour stocker et gérer les données, et les opérations d'ajout, de suppression, de modification et d'interrogation sur la base de données sont une fonction fréquemment utilisée. Cet article présentera les méthodes et techniques de base d'utilisation du framework ThinkPHP6 pour les opérations de base de données et fournira des exemples de code pour référence aux lecteurs. 1. Connectez-vous à la base de données Avant d'utiliser ThinkPHP6 pour les opérations de base de données, vous devez d'abord configurer les informations de connexion à la base de données.

See all articles