CodeIgniter-Studiennotizen Punkt 5 – AR in CI
AR (Active Record)
Wenn AR aktiviert ist (CI3.0 wird standardmäßig gestartet und verfügt über keine Konfigurationselemente), können Sie die Get-Methode von
$this->db
< verwenden 🎜> Erhalten Sie die Ergebnismenge einer Tabelle
[code]// AR会自动加上表前缀,因此get方法中的表名不用加上表前缀 $res = $this->db->get('user'); foreach ($res->result() as $item) { echo $item->name . "
"; }
Sie können einen Datensatz einfach über die Einfügemethode einfügen. Die Parameter sind der Tabellenname und das assoziative Array
[code]$data = array('name'=>'mary', 'password'=>md5('mary')); $result = $this->db->insert('user', $data);
Ändern Sie den Datensatz über die Aktualisierungsmethode. Der erste Parameter ist die Angabe, der zweite Parameter ist der geänderte Inhalt, dargestellt durch ein assoziatives Array, und der dritte Parameter ist die Abfragebedingung
[code]$data = array ('email'=>'mary@gmail.com', 'password'=>md5('123456')); $this->db->update('user', $data, array('name'=>'mary'));
Einen Datensatz über die Löschmethode löschen. Der erste Parameter ist der Tabellenname und der zweite Parameter ist die Abfragebedingung
[code]$this->db->delete('user', array('name'=>'mary'));
Kontinuierlicher Betrieb. Für komplexere SQL-Anweisungen können Sie den von AR bereitgestellten kohärenten Betrieb verwenden, um
[code]$result = $this->db->select('id, name') ->from('user') ->where('id >=', 1) ->limit(3,1) ->order_by('id desc ') ->get();
Die Methode last_query() kann verwendet werden, um die von AR zusammengestellte SQL-Anweisung durch kohärente Operationen zu erhalten
[code]where('name', 'mary')或where('name =', 'mary'):表示查询条件是name字段值是mary where(array('name'=>'mary', 'id >'=>'1'));:表示查询条件有两个,name字段值是mary并且id字段值是1
AR kann nur relativ einfache Abfragen ausführen. Wenn es sich um eine komplexe Abfrage handelt, wird empfohlen, für die Abfrage $this->db->query($sql, $data)
zu verwenden
[code]$this->db->last_query();
Die folgenden Funktionen helfen Ihnen beim Erstellen von SQL-SELECT-Anweisungen.
Hinweis: Wenn Sie PHP5 verwenden, können Sie in komplexen Situationen die Kettensyntax verwenden. Detaillierte Beschreibungen finden Sie unten auf dieser Seite.
Führen Sie die Select-Query-Anweisung aus und geben Sie die Ergebnismenge zurück. Alle Daten einer Tabelle können abgerufen werden.
[code]$this->db->get();
Mit dem zweiten und dritten Parameter können Sie die Anzahl der Datensätze pro Seite eines Ergebnissatzes (Limit) und den Offset des Ergebnissatzes festlegen
[code]$query = $this->db->get('mytable'); // Produces: SELECT * FROM mytable
Hinweis: Der zweite Parameter ist die Anzahl der Datensätze pro Seite und der dritte Parameter ist der Offset
[code]$query = $this->db->get('mytable', 10, 20); // Produces: SELECT * FROM mytable LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax)
Ausführung, diese $query
kann zur Anzeige der Ergebnismenge verwendet werden.
ist dasselbe wie die obige Funktion, außer dass Sie damit eine where-Klausel zum zweiten Parameter der Funktion hinzufügen können, ohne db->where() zu verwenden. Funktion:
[code]$query = $this->db->get('mytable'); foreach ($query->result() as $row) { echo $row->title; } [code]$this->db->get_where();
Hinweis: get_where() wurde in früheren Versionen als getwhere() geschrieben. Dies ist eine veraltete Verwendung und getwhere() wurde aus dem Code entfernt.
[code]$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);
ermöglicht Ihnen, den SELECT-Teil in die SQL-Abfrage zu schreiben:
[code]$this->db->select();
Hinweis: Wenn Sie alles abfragen möchten Die Elemente in der Tabelle sind in Ordnung, Sie müssen diese Funktion nicht schreiben. Wenn es weggelassen wird, geht CodeIgniter davon aus, dass Sie alle Zeilen abfragen möchten (SELECT *).
[code]$this->db->select('title, content, date'); $query = $this->db->get('mytable'); // Produces: SELECT title, content, date FROM mytable
Assoziative Array-Methode:
$this->db->select()
[code]$this->db->select('(SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4') AS amount_paid', FALSE); $query = $this->db->get('mytable');
Diese Funktion ist fast identisch mit der oben genannten, der einzige Unterschied is Mehrere Instanzen werden mit OR verbunden:
[code]$array = array('title' => $match, 'page1' => $match, 'page2' => $match); $this->db->like($array); // WHERE title LIKE '%match%' AND page1 LIKE '%match%' AND page2 LIKE '%match%' $this->db->or_like();
Hinweis: or_like() hieß früher orlike(), letzteres ist veraltet und heißt jetzt orlike() wurde aus dem Code entfernt.
[code]$this->db->like('title', 'match'); $this->db->or_like('body', $match); // WHERE title LIKE '%match%' OR body LIKE '%match%'
Diese Funktion ist fast identisch mit like(), der einzige Unterschied besteht darin, dass sie die NOT LIKE-Anweisung generiert:
[code]$this->db->not_like();
Diese Funktion ist fast identisch mit not_like(). Der einzige Unterschied besteht darin, dass mehrere Instanzen mit OR verbunden sind:
[code]$this->db->not_like('title', 'match'); // WHERE title NOT LIKE '%match% $this->db->or_not_like();
ermöglicht das Schreiben von Abfrageanweisungen GROUP BY Teil:
[code]$this->db->like('title', 'match'); $this->db->or_not_like('body', 'match'); // WHERE title LIKE '%match%' OR body NOT LIKE '%match%' $this->db->group_by();
Sie können auch mehrere Werte als Array übergeben:
[code]$this->db->group_by("title"); // 生成: GROUP BY title
Erklärung: group_by() verwendet soll „groupby()“ heißen, was veraltet ist und „groupby()“ aus dem Code entfernt wurde.
[code]$this->db->group_by(array("title", "date")); // 生成: GROUP BY title, date
Fügen Sie das Schlüsselwort „DISTINCT“ zur Abfrage hinzu:
[code]$this->db->distinct();
ermöglicht das Hinzufügen von „DISTINCT“ zu Ihrer Anfrage Schreiben Sie den Abschnitt HAVING. Es gibt zwei Syntaxformen, ein oder zwei Parameter sind akzeptabel:
[code]$this->db->distinct(); $this->db->get('table'); // 生成: SELECT DISTINCT * FROM table $this->db->having();
Wenn Sie eine Datenbank verwenden, die durch CodeIgniter Escape-geschützt ist, um das Escapen von Inhalten zu vermeiden Definition: Sie können ein optionales drittes Argument übergeben und es auf FALSE setzen.
[code]$this->db->having('user_id = 45'); // 生成: HAVING user_id = 45 $this->db->having('user_id', 45); // 生成: HAVING user_id = 45 你也可以把多个值通过数组传递过去: [code]$this->db->having(array('title =' => 'My Title', 'id <' => $id)); // 生成: HAVING title = 'My Title', id < 45
ist fast identisch mit der Funktion getting(). Der einzige Unterschied besteht darin, dass mehrere Klauseln durch „OR“ getrennt werden.
[code]$this->db->having('user_id', 45); // 生成: HAVING `user_id` = 45 (在诸如MySQL等数据库中) $this->db->having('user_id', 45, FALSE); // 生成: HAVING user_id = 45 $this->db->or_having();
hilft Ihnen beim Einrichten einer ORDER BY-Klausel. Der erste Parameter ist der Name des Feldes, nach dem Sie sortieren möchten. Der zweite Parameter legt die Reihenfolge der Ergebnisse fest. Zu den verfügbaren Optionen gehören „asc“ (aufsteigende Reihenfolge) oder „desc“ (absteigende Reihenfolge) oder „random“ (zufällig).
[code]$this->db->order_by();
Sie können auch Ihre eigene Zeichenfolge im ersten Parameter übergeben:
[code]$this->db->order_by("title", "desc"); // 生成: ORDER BY title DESC
Oder Sie können diese Funktion mehrmals aufrufen Sortieren Sie mehrere Felder.
[code]$this->db->order_by('title desc, name asc'); // 生成: ORDER BY title DESC, name ASC
Hinweis: order_by() hieß früher orderby(), was veraltet ist und orderby() aus dem Code entfernt wurde.
[code]$this->db->order_by("title", "desc"); $this->db->order_by("name", "asc"); // 生成: ORDER BY title DESC, name ASC
Begrenzen Sie die Anzahl der von der Abfrage zurückgegebenen Ergebnisse:
[code]$this->db->limit();
Der zweite Parameter legt den Ergebnis-Offset fest.
[code]$this->db->limit(10); // 生成: LIMIT 10
[code]$this->db->limit(10, 20); // 生成: LIMIT 20, 10 (仅限MySQL中。其它数据库有稍微不同的语法) $this->db->count_all_results();
允许你获得某个特定的Active Record查询所返回的结果数量。可以使用Active Record限制函数,例如 where(),or_where()
, like(), or_like() 等等。范例:
[code]echo $this->db->count_all_results('my_table'); // 生成一个整数,例如 25 $this->db->like('title', 'match'); $this->db->from('my_table'); echo $this->db->count_all_results(); // 生成一个整数,例如 17
插入数据
[code]$this->db->insert();
生成一条基于你所提供的数据的SQL插入字符串并执行查询。你可以向函数传递 数组 或一个 对象。下面是一个使用数组的例子:
[code]$data = array( 'title' => 'My title' , 'name' => 'My Name' , 'date' => 'My date' ); $this->db->insert('mytable', $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date')
第一个参数包含表名,第二个是一个包含数据的关联数组。
下面是一个使用对象的例子:
[code]/* class Myclass { var $title = 'My Title'; var $content = 'My Content'; var $date = 'My Date'; } */ $object = new Myclass; $this->db->insert('mytable', $object); // Produces: INSERT INTO mytable (title, content, date) VALUES ('My Title', 'My Content', 'My Date')
第一个参数包含表名,第二个是一个对象。(原文有错:The first parameter will contain the table name, the second is an associative array of values.)
注意: 所有的值已经被自动转换为安全查询。
[code]$this->db->set();
本函数使您能够设置inserts(插入)或updates(更新)值。
它可以用来代替那种直接传递数组给插入和更新函数的方式:
[code]$this->db->set('name', $name); $this->db->insert('mytable'); // 生成: INSERT INTO mytable (name) VALUES ('{$name}')
如果你多次调用本函数,它们会被合理地组织起来,这取决于你执行的是插入操作还是更新操作:
[code]$this->db->set('name', $name); $this->db->set('title', $title); $this->db->set('status', $status); $this->db->insert('mytable');
set() 也接受可选的第三个参数($escape),如果此参数被设置为 FALSE,就可以阻止数据被转义。为了说明这种差异,这里将对 包含转义参数 和 不包含转义参数 这两种情况的 set() 函数做一个说明。
[code]$this->db->set('field', 'field+1', FALSE); $this->db->insert('mytable'); // 得到 INSERT INTO mytable (field) VALUES (field+1) $this->db->set('field', 'field+1'); $this->db->insert('mytable'); // 得到 INSERT INTO mytable (field) VALUES ('field+1')
你也可以将一个关联数组传递给本函数:
[code]$array = array('name' => $name, 'title' => $title, 'status' => $status); $this->db->set($array); $this->db->insert('mytable');
或者一个对象也可以:
[code]/* class Myclass { var $title = 'My Title'; var $content = 'My Content'; var $date = 'My Date'; } */ $object = new Myclass; $this->db->set($object); $this->db->insert('mytable');
更新数据
[code]$this->db->update();
根据你提供的数据生成并执行一条update(更新)语句。你可以将一个数组或者对象传递给本函数。这里是一个使用数组的例子:
[code]$data = array( 'title' => $title, 'name' => $name, 'date' => $date ); $this->db->where('id', $id); $this->db->update('mytable', $data); // 生成: // UPDATE mytable // SET title = '{$title}', name = '{$name}', date = '{$date}' // WHERE id = $id
或者你也可以传递一个对象:
[code]/* class Myclass { var $title = 'My Title'; var $content = 'My Content'; var $date = 'My Date'; } */ $object = new Myclass; $this->db->where('id', $id); $this->db->update('mytable', $object); // 生成: // UPDATE mytable // SET title = '{$title}', name = '{$name}', date = '{$date}' // WHERE id = $id
说明: 所有值都会被自动转义,以便生成安全的查询。
你会注意到
$this->db->where()
[code]$this->db->update('mytable', $data, "id = 4");
或者是一个数组:
[code]$this->db->update('mytable', $data, array('id' => $id));
在进行更新时,你还可以使用上面所描述的 $this->db->set() 函数。
删除数据
[code]$this->db->delete();
生成并执行一条DELETE(删除)语句。
[code]$this->db->delete('mytable', array('id' => $id)); // 生成: // DELETE FROM mytable // WHERE id = $id
第一个参数是表名,第二个参数是where子句。你可以不传递第二个参数,使用 where() 或者 or_where() 函数来替代它:
[code]$this->db->where('id', $id); $this->db->delete('mytable'); // 生成: // DELETE FROM mytable // WHERE id = $id
如果你想要从一个以上的表中删除数据,你可以将一个包含了多个表名的数组传递给delete()函数。
[code]$tables = array('table1', 'table2', 'table3'); $this->db->where('id', '5'); $this->db->delete($tables);
如果你想要删除表中的全部数据,你可以使用 truncate() 函数,或者 empty_table() 函数。
[code]$this->db->empty_table();
生成并执行一条DELETE(删除)语句。
[code] $this->db->empty_table('mytable'); // 生成 // DELETE FROM mytable $this->db->truncate();
生成并执行一条TRUNCATE(截断)语句。
[code]$this->db->from('mytable'); $this->db->truncate(); // 或 $this->db->truncate('mytable'); // 生成: // TRUNCATE mytable
说明: 如果 TRUNCATE 命令不可用,truncate() 将会以 “DELETE FROM table” 的方式执行。
链式方法
链式方法允许你以连接多个函数的方式简化你的语法。考虑一下这个范例:
[code]$this->db->select('title')->from('mytable')->where('id', $id)->limit(10, 20); $query = $this->db->get();
以上就是CodeIgniter学习笔记 Item5--CI中的AR的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



XREAL stellte auf der Spatial Computing-Konferenz zur Einführung neuer Produkte ein neues Produkt vor: XREALBeamPro zum Preis von 1.299 Yuan. Laut der offiziellen Einführung handelt es sich bei XREALBeamPro um ein Computerterminal, das schrittweise 2D-Anwendungen in den 3D-Raum freigibt. Ausgestattet mit XREALAR-Brillen wird es ein „vollständiges AR-Weltraumcomputersystem für Verbraucher“ bilden und die Migrationskosten der Benutzer vom Mobiltelefon minimieren Seite. Vom Design her ähnelt XREALBeamPro einem Smartphone, es handelt sich jedoch nicht um ein Mobiltelefonprodukt, sondern um ein räumliches Rechenterminal, das mit einem Touch-Display ausgestattet ist. Es wird offiziell als „AR-Spatial-Computing-Terminal wie ein Telefon“ positioniert. Auf der Pressekonferenz brachte XREAL-Gründer und CEO Xu Chi seine Begeisterung über die Fähigkeiten von BeamPro zum Ausdruck.

So implementieren Sie benutzerdefinierte Middleware in CodeIgniter Einführung: In der modernen Webentwicklung spielt Middleware eine wichtige Rolle in Anwendungen. Sie können verwendet werden, um eine gemeinsame Verarbeitungslogik auszuführen, bevor oder nachdem die Anforderung den Controller erreicht. CodeIgniter unterstützt als beliebtes PHP-Framework auch den Einsatz von Middleware. In diesem Artikel wird die Implementierung benutzerdefinierter Middleware in CodeIgniter vorgestellt und ein einfaches Codebeispiel bereitgestellt. Middleware-Übersicht: Middleware ist eine Art Anfrage

Mit der Entwicklung von AR (Augmented Reality) und VR (Virtual Reality) sind diese beiden Technologien zu einem wichtigen Bestandteil von Innovation und Erlebnis geworden. Mit der Popularität von PHP als Netzwerkprogrammiersprache ist PHP zu einer praktikablen Wahl für die Entwicklung von AR/VR-Anwendungen geworden. In diesem Artikel wird erläutert, wie Sie PHP zum Erstellen von AR/VR-Anwendungen verwenden. 1. AR- und VR-Technologien verstehen Bevor wir mit der Erstellung von AR/VR-Anwendungen beginnen, müssen wir die verschiedenen Technologien und Bibliotheken verstehen. AR-Technologie ermöglicht die Interaktion virtueller Objekte oder Informationen mit realen Umgebungen. V

(Nweon, 26. September 2023) Microsoft ist davon überzeugt, dass MicroLED die Eigenschaften einer geringen Größe, eines geringen Gewichts, einer hohen Helligkeit und einer hohen Packungsdichte aufweist und möglicherweise besonders für am Kopf montierte Geräte geeignet ist, die eine hohe Auflösung, geringe Größe und ein geringes Gewicht erfordern .Überwachen. In einer Patentanmeldung mit dem Titel „Mikrolinsen zur Manipulation des Hauptstrahlwinkels über einen großen Bereich für die Panel-Anzeige“ stellte Microsoft eine Mikrolinse vor, die eine Manipulation des Hauptstrahlwinkels über einen großen Bereich für die Panel-Anzeige ermöglicht, sowie ein Anzeigesystem, das mit dem Mikrolinsen-Array konfiguriert ist. Dabei entspricht jede Mikrolinse im Array einem jeweiligen Pixel des Panel-Displays. Mikrolinsen werden entsprechend ihrer Konfiguration konfiguriert

CodeIgniter-Middleware: Beschleunigung der Anwendungsreaktionsfähigkeit und Seitenwiedergabe Übersicht: Da Webanwendungen immer komplexer und interaktiver werden, müssen Entwickler effizientere und skalierbarere Lösungen verwenden, um die Anwendungsleistung und Reaktionsfähigkeit zu verbessern. CodeIgniter (CI) ist ein leichtes PHP-basiertes Framework, das viele nützliche Funktionen bietet, darunter Middleware. Middleware ist eine Reihe von Aufgaben, die ausgeführt werden, bevor oder nachdem die Anfrage den Controller erreicht. In diesem Artikel wird die Verwendung vorgestellt

Vom 9. bis 12. Januar versammelten sich mehr als 4.000 Aussteller auf der CES, der „Spring Festival Gala“ der Unterhaltungselektronik. Als innovatives Unternehmen im Bereich Consumer AR nahm Mojie Technology zum ersten Mal an der CES teil und demonstrierte damit die starke Stärke chinesischer AR-Unternehmen bei Kerngeräten, kompletten Maschinenlösungen und maßgeschneiderten Dienstleistungen. Am Mojie-Stand wurden die AR-Brillen auf Basis eines binokularen Harzbeugungslichtleiters + MicroLED ausgestellt, die das Interesse vieler Besucher weckten, die sie anprobierten und ihre Funktionen erlebten. Diese AR-Brille verfügt über viele praktische Funktionen. Erstens kann der Träger den Textinhalt in Echtzeit durch das Brillenglas betrachten, was das Lesen komfortabler macht. Zweitens verfügt die Brille über eingebaute Mikrofone, die Sprachinformationen sammeln und diese über die Sofortübersetzungsfunktion in Text in der angegebenen Sprache umwandeln können.

Einführung in die Methode zur Verwendung des Datenbankabfrage-Builders (QueryBuilder) im CodeIgniter-Framework: CodeIgniter ist ein leichtes PHP-Framework, das viele leistungsstarke Tools und Bibliotheken bereitstellt, um Entwicklern die Entwicklung von Webanwendungen zu erleichtern. Eine der beeindruckendsten Funktionen ist der Datenbankabfrage-Builder (QueryBuilder), der eine übersichtliche und leistungsstarke Möglichkeit zum Erstellen und Ausführen von Datenbankabfrageanweisungen bietet. In diesem Artikel wird die Verwendung von Co. vorgestellt

NTT QONOQ Devices hat die drahtlose XR-Brille Mirza für Smartphones vorgestellt, die Benutzer von der Notwendigkeit befreit, sich mit Kabeln herumzuschlagen. Die Brille kann virtuelle AR-Inhalte in realen Räumen wie Pokemon Go oder ihre Telefoninhalte auf einer großen virtuellen Anzeige anzeigen
