如何在ZF2中设置MySQL数据库表的特定属性的条件?
This is the code, and i want to set condition on obtainedMarks. The condition will check if the obtainedMarks have a value assigned or not.
$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 how to put such a condition that checks out if obtainedMarks carry a value or not..!
这是代码,我想在 gettingMarks上设置条件 strong >。 该条件将检查 gettingMarks strong>是否已分配值。 p> blockquote>
$ qb-> select(array(array) “academic.studentAcademicId as studentAcademicId”, “academic.descriptions as description”, “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',' 学生') - > leftJoin('academic.session','session') - > where('academic.student =:student') - > setParameter('student',$ studentId) - > groupBy('studentAcademicId'); code> pre>
那么如何设置这样一个条件来检查 gettingMarks strong>是否带有价值 是不是..! p> div>
In Zendframework2, all query data is assigned to an array variable e.g $data
$data = $qb->getQuery()->getScalarResult();
and is returned to whoever call this controller i.e,
return new ViewModel(array(
'data' => $data,
)
To check if a specific attribute in a query bears a value or not is to check it through foreach loop in the view that called this controller e.g
<?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>
As seen, the if condition is checking out the
obtainedMarks
value from thedata
array variable.