In diesem Artikel werden hauptsächlich gemeinsame (Assoziations-)Abfragen, Abfragen mit mehreren Bedingungen und Aggregationsabfragen vorgestellt. Er fasst und analysiert gängige Abfrageoperationstechniken von thinkPHP5 in Form von Beispielen In diesem Artikel werden die Beispiele erläutert. Er unterstützt gemeinsame (Assoziations-)Abfragen, Abfragen mit mehreren Bedingungen und Aggregationsabfragen von ThinkPHP5. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
1. Union-(Assoziations-)Abfrage 1 🎜>
DROP TABLE IF EXISTS `darling_project`; CREATE TABLE `darling_project` ( `project_id` int(32) NOT NULL AUTO_INCREMENT, `project_name` varchar(20) NOT NULL, `create_time` int(32) NOT NULL, PRIMARY KEY (`project_id`), UNIQUE KEY `project_id` (`project_id`), UNIQUE KEY `project_name` (`project_name`) );
DROP TABLE IF EXISTS `darling_version`; CREATE TABLE `darling_version` ( `version_id` int(32) NOT NULL AUTO_INCREMENT, `project_id` int(32) NOT NULL, `version_name` varchar(128) NOT NULL, `create_time` int(32) NOT NULL, PRIMARY KEY (version_id), UNIQUE KEY `version_id` (`version_id`) );
$where=array( "version_id"=>$_POST['version_id'] ); $Project_version = model('Project')->join("darling_version","darling_version.project_id = darling_project.project_id")->where($where)->find();
Methode 1:
Setzen Sie die Abfragebedingungen im Array Als Where-Funktionsparameter, aber wenn bedingte Parameter wie „größer als“ oder „kleiner“ vorhanden sind, können im Array keine Werte zugewiesen werden. Beispiel 1:$where=array( "version_name"=>$version_name, "project_name"=>$project_name ); $userdata=$this->where($where)->find();
$where=array( "version_name"=>$version_name, "project_name"=>$project_name ); $userdata=$this->where($where)->select();
$where=array( "version_id"=>$version_id ); $version_name = model("Version")->where($where)->field("version_name")->find();
$package = model('admin/Package') ->where("project_id=".$Project_version['project_id']." and version_id=".$Project_version['version_id']." and status>1") ->order('create_time desc') ->find();
$package = model('admin/Package') ->where("project_id=".$Project_version['project_id']) ->where("version_id=".$Project_version['version_id']) ->where("status>1") ->order('create_time desc') ->find();
1. Das zuletzt eingefügte Upgrade-Paket kann wie folgt zurückgegeben werden, es wird jedoch nur das Feld „create_time“ zurückgegeben. Felder des gesamten Datensatzes können nicht zurückgegeben werden.
$package = model('admin/Package') ->where("project_id=".$Project_version['project_id']) ->where("version_id=".$Project_version['version_id']) ->where("status>1")->max(create_time)
$package = model('admin/Package') ->where("project_id=".$Project_version['project_id']) ->where("version_id=".$Project_version['version_id']) ->where("status>1") ->order('create_time desc') ->find();
ThinkPHP-Framework basierend auf einem Beispiel für den Betrieb einer PDO-Modus-Verbindungsdatenbank
Detaillierte Erläuterung der verteilten Datenbankverbindungsmethode des ThinkPHP-Frameworks
thinkPHPs einfache Methode zur Implementierung mehrerer Unterabfrageanweisungen
Das obige ist der detaillierte Inhalt vonDetaillierte Beispiele für ThinkPHP5-Union-(Assoziations-)Abfragen, Multi-Bedingungs-Abfragen und Aggregationsabfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!