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

Heim PHP-Framework YII Der Unterschied zwischen dao und ar in yii2

Der Unterschied zwischen dao und ar in yii2

Nov 05, 2019 pm 01:20 PM
yii2

Active Record(AR)是一個(gè)流行的對(duì)象-關(guān)系映射(ORM)技術(shù)。每個(gè)AR 類代表一個(gè)數(shù)據(jù)表(或視圖),數(shù)據(jù)表(或視圖)的列在AR 類中體現(xiàn)為類的屬性,一個(gè)AR 實(shí)例則表示表中的一行。常見的CRUD 操作作為AR 的方法實(shí)現(xiàn)。

Der Unterschied zwischen dao und ar in yii2

因此,我們可以以一種更加面向?qū)ο蟮姆绞皆L問數(shù)據(jù)。$c = new CDbCriteria();是ActiveRecord的一種寫法,使ActiveRecord更加靈活,而拼裝sql則是最常見不過,下面看兩個(gè)例子。 ? ? (推薦學(xué)習(xí):yii教程

注意:AR 并非要解決所有數(shù)據(jù)庫相關(guān)的任務(wù)。它的最佳應(yīng)用是模型化數(shù)據(jù)表為PHP 結(jié)構(gòu)和執(zhí)行不包含復(fù)雜SQL 語句的查詢。對(duì)于復(fù)雜查詢的場(chǎng)景,應(yīng)使用Yii DAO。?

$criteria = new CDbCriteria;       
//函數(shù)方式 
$criteria->addCondition("id=1"); //查詢條件,即where id = 1   
$criteria->addInCondition('id', array(1,2,3,4,5)); //代表where id IN (1,23,,4,5,);   
$criteria->addNotInCondition('id', array(1,2,3,4,5));//與上面正好相法,是NOT IN   
$criteria->addCondition('id=1','OR');//這是OR條件,多個(gè)條件的時(shí)候,該條件是OR而非AND   
$criteria->addSearchCondition('name', '分類');//搜索條件,其實(shí)代表了。。where name like '%分類%'   
$criteria->addBetweenCondition('id', 1, 4);//between 1 and 4    
     
$criteria->compare('id', 1);    //這個(gè)方法比較特殊,他會(huì)根據(jù)你的參數(shù)自動(dòng)處理成addCondition或者addInCondition,   
                                //即如果第二個(gè)參數(shù)是數(shù)組就會(huì)調(diào)用addInCondition   
$criteria->addCondition("id = :id");   
$criteria->params[':id']=1;   
      
//屬性方式   
$criteria->select = 'id,parentid,name'; //代表了要查詢的字段,默認(rèn)select='*';   
$criteria->join = 'xxx'; //連接表   
$criteria->with = 'xxx'; //調(diào)用relations    
$criteria->limit = 10;    //取1條數(shù)據(jù),如果小于0,則不作處理   
$criteria->offset = 1;   //兩條合并起來,則表示 limit 10 offset 1,或者代表了。limit 1,10   
$criteria->order = 'xxx DESC,XXX ASC' ;//排序條件   
$criteria->group = 'group 條件';   
$criteria->having = 'having 條件 ';   
$criteria->distinct = FALSE; //是否唯一查詢

Yii數(shù)據(jù)訪問對(duì)象(DAO)建立在PHP的數(shù)據(jù)對(duì)象(PDO)擴(kuò)展上,使得在一個(gè)單一的統(tǒng)一的接口可以訪問不同的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。使用Yii的DAO開發(fā)的應(yīng)用程序可以很容易地切換使用不同的數(shù)據(jù)庫管理系統(tǒng),而不需要修改數(shù)據(jù)訪問代碼。下面是DAO的例子:

示例代碼

/**
     * 關(guān)于DAO的例子
     * 獲取所有用戶名
     */
    public function getUsernames ()
    {
        $sqlStatement = ' SELECT `username` FROM `testdrive`.`tbl_user` ';
        $this->command = $this->connection->createCommand($sqlStatement);
        return $this->command->queryAll();
    }
    /**
     *
     * 添加一個(gè)用戶
     */
    public function addUser ()
    {
        $sqlStatement = " INSERT INTO `tbl_user` (`username`, `password`, `email`) VALUES ('test', 'test', 'test@test.com') ";
        $this->command = $this->connection->createCommand($sqlStatement);
        return $this->command->execute();
    }

有幾點(diǎn)注意的地方:

1,與DAO方式結(jié)果區(qū)別是:DAO方式 數(shù)組中的每一個(gè)元素仍是數(shù)組。而通過CDbCriteria方式,數(shù)組中的元素是對(duì)象。

2,即使該功能很強(qiáng)大,仍有一些需求不能滿足,此時(shí)仍需sql語句。比如select avg(num) amount from ****。

3,打印運(yùn)行后的結(jié)果,可更深入yii這么做是如何實(shí)現(xiàn)的

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen dao und ar in yii2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Wie erstelle ich eine grundlegende Route in yii? Wie erstelle ich eine grundlegende Route in yii? Jul 09, 2025 am 01:15 AM

TocreateabasicrouteinYii,firstsetupacontrollerbyplacingitinthecontrollersdirectorywithpropernamingandclassdefinitionextendingyii\web\Controller.1)Createanactionwithinthecontrollerbydefiningapublicmethodstartingwith"action".2)ConfigureURLstr

YII -Entwickler Stellenbeschreibung: Schlüsselverantwortung und Qualifikationen YII -Entwickler Stellenbeschreibung: Schlüsselverantwortung und Qualifikationen Jul 11, 2025 am 12:13 AM

Ayiideveloper'Skeyresponsibilities includedesigningandImplementingFeatures, Sicherstellung von Anwendungen und optimierender Bildung

Wie erstelle ich benutzerdefinierte Aktionen in einem YII -Controller? Wie erstelle ich benutzerdefinierte Aktionen in einem YII -Controller? Jul 12, 2025 am 12:35 AM

Die Methode zum Erstellen von benutzerdefinierten Operationen in YII besteht darin, eine gemeinsame Methode zu definieren, die mit einer Aktion im Controller beginnt, die optional Parameter akzeptieren. Verarbeiten Sie dann Daten, machen Sie Ansichten oder geben Sie JSON nach Bedarf zurück. und gew?hrleisten schlie?lich die Sicherheit durch Zugangskontrolle. Die spezifischen Schritte umfassen: 1. Erstellen einer mit Aktion vorangestellten Methode; 2. Setzen Sie die Methode auf die ?ffentlichkeit; 3. kann URL -Parameter empfangen; 4. Prozessdaten wie Abfrage des Modells, Verarbeitung von Postanforderungen, Umleitungen usw.; 5. AccessControl verwenden oder die Berechtigungen manuell überprüfen, um den Zugriff einzuschr?nken. Beispielsweise kann ActionProfile ($ ID) über /Site /Profil? ID = 123 zugegriffen werden und rendern die Benutzerprofilseite. Die beste Praxis ist

YII -Entwickler: Rollen, Verantwortlichkeiten und F?higkeiten erforderlich YII -Entwickler: Rollen, Verantwortlichkeiten und F?higkeiten erforderlich Jul 12, 2025 am 12:11 AM

Ayiidevelopercraftswebapplicationssusingtheyiiframework, Anforderungskillsinphp, yii-Specificknowledge und Webdevelopmentlifecyclemanagement.Keyres-ArsibilitiesInclude: 1) WritingEffictionCodetItimizeperance, 2) Vorbereitungsgr??e, Voraussetzungen, Voraussetzungen für Schreibungen, Voraussetzungen für Schreibungen, Voraussetzungen für Schreibungen, Voraussetzungen, die Bekanntmachung von Trübchen, die Bekanntmachung von Trübungen, und Sectaprotectapretectapretectaptectaptaprezieren, und

Wie benutze ich das ActivereCord -Muster in YII? Wie benutze ich das ActivereCord -Muster in YII? Jul 09, 2025 am 01:08 AM

Touactiverecordininyiieffektiv, youcreateamodelClassforeachTableAnDinteracthEdatabaseSoBect-orientedMethods.First, DefineAmodelClassextendingyii \ db \ activerecordandSpecifytheCorresprespespectaNtableNameViatablename ()

Wie protokolliere ich Sicherheitsereignisse in YII? Wie protokolliere ich Sicherheitsereignisse in YII? Jul 11, 2025 am 12:07 AM

Das Aufzeichnen von Sicherheitsereignissen in YII kann durch Konfigurieren von Protokollzielen, Ausl?sen von Schlüsselereignisprotokollen, Berücksichtigung des Datenbankspeichers und zur Vermeidung der Aufzeichnung sensibler Informationen erreicht werden. Die spezifischen Schritte sind wie folgt: 1. Legen Sie ein dediziertes Protokollziel in der Konfigurationsdatei fest, z. B. Filetarget oder DBTarget, und geben Sie die Klassifizierung als ?Sicherheit“ an. 2. Verwenden Sie yii :: info () oder yii :: warning (), um das Protokoll aufzuzeichnen, wenn ein kritisches Sicherheitsereignis (z. B. Anmeldefehler und Kennwortreset) auftritt. 3. Speichern Sie die Protokolle optional in der Datenbank für Abfrage und Analyse, und Sie müssen zuerst eine Tabelle erstellen und die Protokollparameter konfigurieren. 4. Vermeiden Sie es, sensible Daten wie Kennw?rter oder Token bei der Aufzeichnung von Kontextinformationen einzubeziehen, und Sie k?nnen den Parameterersatz verwenden, um IP und Benutzername hinzuzufügen. 5

Wie benutze ich Asset -Bundles in yii? Wie benutze ich Asset -Bundles in yii? Jul 08, 2025 am 12:33 AM

Die Verwendung von YIIs Assetbundles ist eine bew?hrte Verantwortung für die Verwaltung von CSS- und JS -Dateien. Es definiert Ressourcengruppen zentral über PHP -Klassen und behandelt automatisch Abh?ngigkeiten, Verschmelzungen und Caches. 1. Das Ressourcenpaket ist eine PHP -Klasse, mit der CSS, JS und andere Ressourcen organisiert und ihre Abh?ngigkeiten deklariert werden. 2. Registrieren Sie Ressourcenpakete in der Ansicht oder Layout, um automatisch HTML -Tags zu generieren. 3.. Verschiedene Ressourcenpakete k?nnen je nach Benutzerrolle oder Seitentyp bedingt registriert werden. 4. Die Ressourcendateien werden standardm??ig in Web/CSS und Web/JS platziert, und der Pfad kann angepasst werden. 5. Verwenden Sie die AssetManager -Konfiguration, um Zeitstempel hinzuzufügen, um die Versionskontrolle zu erreichen und Browser -Caching -Probleme zu l?sen. Die korrekte Verwendung von Ressourcenpaketen kann die Klarheit der Projektstruktur und die Belastungseffizienz verbessern

Wie verwende ich Client -Skripte in einer YII -Ansicht? Wie verwende ich Client -Skripte in einer YII -Ansicht? Jul 10, 2025 am 11:42 AM

TomanageClientscriptsikinyiieFECTEctivity, UseregisterJSforinlinejavaScript, RegisterJSFileAnDregisterCSSFileForexTernalfiles, AndassetbundlesFororganizedReuse.Firste, $ this-> RegisterJS () toadddddddsmalljavascriptsnippetsatheBottomoftomoftomoftomofTomofToNepageorSeorsorsorsorsorsors.

See all articles