2017-01-24 3 views
0

Dies ist der Code, und ich möchte die Bedingung auf erhaltenMarks setzen. Die Bedingung prüft, ob die erlangtenMarks einen Wert zugewiesen haben oder nicht.Wie setze ich die Bedingung für ein bestimmtes Attribut der MySQL-Datenbanktabelle in ZF2?

$qb->select(array(
     "academic.studentAcademicId as studentAcademicId", 
     "academic.descriptions as descriptions", 
     "student.name as studentName", 
     "student.studentId as studentId", 
     "class.name as className", 
     "session.name as sessionName", 
     ***"SUM(marks.marksObtained) as marksObtained",*** 
    )) 
     ->from('Application\Entity\StudentAcademics','academic') 
     ->leftJoin('academic.class','class') 
     ->leftJoin('academic.marks','marks') 
     ->leftJoin('academic.student','student') 
     ->leftJoin('academic.session','session') 
     ->where('academic.student = :student') 
     ->setParameter('student',$studentId)->groupBy('studentAcademicId'); 

So, wie eine solche Bedingung zu setzen, die aus überprüft, ob obtainedMarks Wert tragen oder nicht ..!

Antwort

1

In Zendframework2, ist alles Abfragedaten an eine Anordnung variable zB Daten

$data = $qb->getQuery()->getScalarResult(); 

$ zugeordnet und zurückgegeben an jeden Anruf dieser Controller dh

return new ViewModel(array(
       'data' => $data, 
      ) 

Um zu überprüfen, ob eine bestimmte attrib ute in einer Abfrage einen Wert trägt oder nicht, ist es durch foreach Schleife in der Ansicht zu überprüfen, die diesen Controller zB

<?php foreach ($this->data as $item): ?> 
<tr> 
    <td> 
     <?php if(isset($item['marksObtained']) && $item['marksObtained'] > 0){?> 
      <a href="<?=$this->url('marks/details', array('action'=>'index', 'id'=>$item['studentAcademicId']))?>"> 
       <?php echo $item['marksObtained']; ?></a> 
     <?php }else{ ?> 
      <a href="<?=$this->url('marks/details', array('action'=>'add', 'id'=>$item['studentAcademicId']))?>"> 
       Add Marks</a> 
     <?php }?> 
    </td> 
</tr> 

Wie zu sehen, die, wenn die Bedingung überprüft, um die obtainedMarks genannt Wert aus der Array-Variablen data.

Verwandte Themen