Einführung in die gemeinsame Abfrageverknüpfung mehrerer Tabellen in cakephp2.X und in die Methode zur Verwendung von Paging-Abfragen

不言
Freigeben: 2023-04-02 09:22:01
Original
1817 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich cakephp2 vorgestellt. Die Beispiele in diesem Artikel beschreiben die gemeinsame Abfrageverknüpfung mit mehreren Tabellen von cakephp2.X und die Methode zur Verwendung von Paging-Abfragen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Formatparameter:

public function getconditions($data){
  $this->loadModel("Cm.LoginHistory");
  $conditions = array();
  foreach ($data as $key=>$val){
    if($key=='start_date'){
      $conditions['LoginHistory.logintime >=']=trim($val);
    }elseif ($key=='end_date'){
      $conditions[&#39;LoginHistory.logouttime <=&#39;]=trim($val);
    }elseif ($key==&#39;selectvsoftid&#39; and $val !=&#39;&#39;){
      $conditions[&#39;LoginHistory.LOGINSUBSYSTEM LIKE&#39;]=&#39;%&#39;.trim($val).&#39;%&#39;;
    }elseif ($key==&#39;username&#39; and $val !=&#39;&#39;){
      $conditions[&#39;LoginHistory.USERNAME LIKE&#39;]=&#39;%&#39;.trim($val).&#39;%&#39;;
    }elseif ($key==&#39;vdevicename&#39; and $val !=&#39;&#39;){
      $conditions[&#39;LoginHistory.WINDOWNAME LIKE&#39;]=&#39;%&#39;.trim($val).&#39;%&#39;;
    }elseif ($key==&#39;selectvsoftid&#39; and $val !=&#39;&#39;){
      $conditions[&#39;LoginHistory.PHDEVICENAME LIKE&#39;]=&#39;%&#39;.trim($val).&#39;%&#39;;
    }
  }
  return $conditions;
}
Nach dem Login kopieren

Seitenabfrage:

$fields = array(&#39;LoginHistory.windowname&#39;,&#39;LoginHistory.loginsubsystem&#39;,&#39;VirtualDevice.PHDEVICEID&#39;,&#39;LoginHistory.userid&#39;, &#39;VirtualDevice.SYSTYPEID&#39;,&#39;UserInfo.USERNAME&#39;,&#39;"SUM"(LoginHistory.LOGOUTTIME-LoginHistory.LOGINTIME) moument&#39;,&#39;UserInfo.USERNAME&#39;,&#39;DeviceInfo.DEVICENAME&#39;);
$group=array(&#39;LoginHistory.windowname&#39;, &#39;LoginHistory.loginsubsystem&#39;, &#39;LoginHistory.userid&#39;,&#39;UserInfo.USERNAME&#39;,&#39;DeviceInfo.DEVICENAME&#39;,&#39;VirtualDevice.SYSTYPEID&#39;,&#39;VirtualDevice.PHDEVICEID&#39;);
$this->paginate = array(&#39;conditions&#39;=>$conditions,&#39;fields&#39;=>$fields,&#39;group&#39;=>$group,&#39;limit&#39;=>9,&#39;joins&#39; => array(
   array(
     &#39;alias&#39; => &#39;UserInfo&#39;,
     &#39;table&#39; => &#39;SMM_USERINFO&#39;,
     &#39;type&#39; => &#39;LEFT&#39;,
     &#39;conditions&#39; => &#39; LoginHistory.USERID=UserInfo.USERID &#39;,
   ),
   array(
     &#39;alias&#39; => &#39;VirtualDevice&#39;,
     &#39;table&#39; => &#39;ET_NMVIRTUALDEVICEINFO&#39;,
     &#39;type&#39; => &#39;LEFT&#39;,
     &#39;conditions&#39; => &#39; LoginHistory.WINDOWNAME=VirtualDevice.DEVICENAME &#39;,
   ),
   array(
     &#39;alias&#39; => &#39;DeviceInfo&#39;,
     &#39;table&#39; => &#39;ET_NMDEVICEINFO&#39;,
     &#39;type&#39; => &#39;LEFT&#39;,
     &#39;conditions&#39; => &#39; VirtualDevice.PHDEVICEID=DeviceInfo.DEVICEID &#39;,
   ),
 ));
$LoginHistory = $this->paginate(&#39;LoginHistory&#39;);
$this->set(&#39;loginhistory&#39;,$LoginHistory);
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein PHP chinesische Website!

Verwandte Empfehlungen:

Einführung in die Operationsklassen und Verwendung von PHP mit vollem Funktionsumfang, nicht deformiertem Bildzuschnitt


ThinkPHP-Schreibarray-Methoden zum Einfügen und Abrufen der zuletzt eingefügten Daten-ID


Das obige ist der detaillierte Inhalt vonEinführung in die gemeinsame Abfrageverknüpfung mehrerer Tabellen in cakephp2.X und in die Methode zur Verwendung von Paging-Abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage