Răsfoiți Sursa

reading the loop but not writing to the table

Shawna Spoor 8 ani în urmă
părinte
comite
fe810c4371
1 a modificat fișierele cu 28 adăugiri și 30 ștergeri
  1. 28 30
      tripal_chado/api/modules/tripal_chado.cv.api.inc

+ 28 - 30
tripal_chado/api/modules/tripal_chado.cv.api.inc

@@ -371,19 +371,17 @@ function tripal_update_cvtermpath($cv_id, $job_id = NULL) {
  * @param string $job_id
  */
 function tripal_update_cvtermpath_bak($cv_id, $job_id = NULL){
-  $depth = 0;
-  $result = chado_query('
+  chado_set_active('chado');
+  $result = db_query('
     SELECT DISTINCT t.*
-    FROM {cvterm} t
-      LEFT JOIN {cvterm_relationship} r ON (t.cvterm_id = r.subject_id)
-      INNER JOIN {cvterm_relationship} r2 ON (t.cvterm_id = r2.object_id)
+    FROM cvterm t
+      LEFT JOIN cvterm_relationship r ON (t.cvterm_id = r.subject_id)
+      INNER JOIN cvterm_relationship r2 ON (t.cvterm_id = r2.object_id)
     WHERE t.cv_id = :cvid AND r.subject_id is null',
     array(':cvid' => $cv_id)
   );
 
   $record = $result->fetchObject();
-  watchdog('debug', '<pre>tripal_update_cvtermpath_bak  $record: ' . print_r($record, TRUE) .'</pre>');
-
   tripal_update_cvtermpath_root_loop($record->cvterm_id, $record->cv_id);
 }
 
@@ -393,30 +391,26 @@ function tripal_update_cvtermpath_bak($cv_id, $job_id = NULL){
  * @param unknown $cvid
  */
 function tripal_update_cvtermpath_root_loop($rootid, $cvid){
-  watchdog('debug', '<pre>tripal_update_cvtermpath_root_loop  $rootid: ' . print_r($rootid, TRUE) . '</pre>');
-  watchdog('debug', '<pre>tripal_update_cvtermpath_root_loop  $cvid: ' . print_r($cvid, TRUE) . '</pre>');
-
-  $ttype = chado_db_select('cvterm', 'cv')
+  chado_set_active('chado');
+  $ttype = db_select('cvterm', 'cv')
           ->fields('cv', array('cvterm_id'));
   $db_or = db_or();
   $db_or->condition('cv.name', "isa", '=' );
   $db_or->condition('cv.name', "is_a", '=' );
   $ttype->condition($db_or);
   $result = $ttype->execute()->fetchObject();
-  watchdog('debug', '<pre>tripal_update_cvtermpath_root_loop  $result: ' . print_r($result, TRUE) . '</pre>');
 
   tripal_update_cvtermpath_loop($rootid, $rootid, $cvid, $result->cvterm_id, 0);
 
-  $cterm = chado_query(
+  $cterm = db_query(
     'SELECT *
-     FROM {cvterm_relationship}
+     FROM cvterm_relationship
      WHERE object_id = :rootid
     ',
     array(':rootid' => $rootid)
   );
 
   while($cterm_result = $cterm->fetchAssoc()) {
-    watchdog('debug', '<pre>tripal_update_cvtermpath_root_loop  $cterm_result: ' . print_r($cterm_result, TRUE) . '</pre>');
     tripal_update_cvtermpath_root_loop($cterm_result['subject_id'], $cvid);
   };
 
@@ -432,11 +426,10 @@ function tripal_update_cvtermpath_root_loop($rootid, $cvid){
  * @return multitype:
  */
 function tripal_update_cvtermpath_loop($origin, $subject_id, $cv_id, $type_id, $depth){
-  watchdog('debug', '<pre>tripal_update_cvtermpath_loop  $subject_id: ' . print_r($subject_id, TRUE) . '</pre>');
-
-  $count =  chado_query(
+  chado_set_active('chado');
+  $count =  db_query(
     'SELECT *
-     FROM {cvtermpath}
+     FROM cvtermpath
      WHERE cv_id = :cvid AND object_id = :origin
        AND subject_id = :child_id
        AND pathdistance = :depth
@@ -444,21 +437,26 @@ function tripal_update_cvtermpath_loop($origin, $subject_id, $cv_id, $type_id, $
     array(':cvid' => $cv_id, ':origin' => $origin, ':child_id' => $subject_id, ':depth' => $depth)
   );
   $count_total = $count->rowCount();
+  chado_set_active('chado');
+  watchdog('debug', '<pre>tripal_update_cvtermpath_loop  $count_total: ' . print_r($count_total, TRUE) . '</pre>');
+
+  if ($count_total == 0) {
+    watchdog('debug', '<pre>tripal_update_cvtermpath_loop inside if count total $origin: ' . print_r($origin, TRUE) . '</pre>');
+    chado_set_active('chado');
 
-  /*if ($count == 0) {
     db_update("cvtermpath")
-      ->fields(array("object_id", "subject_id", "cv_id", "type_id", "pathdistance"))
-      ->values(array(
-        "origin" => ,
-        "child_id" => ,
-        "cvid" => ,
-        "typeid" => ,
-        "depth" =>
-      ));
-  } */
+      ->fields(array(
+        "object_id" => $origin,
+        "subject_id" => $subject_id,
+        "cv_id" => $cv_id,
+        "type_id" => $type_id,
+        "pathdistance" => $depth
+      ))
+      ->execute();
+  }
   $cterm = array();
 
-  $query = chado_db_select('cvterm_relationship', 'cvtr')
+  $query = db_select('cvterm_relationship', 'cvtr')
           ->fields('cvtr')
           ->condition('cvtr.object_id', $subject_id, '=' )
           ->execute();