2015-06-08 4 views
0

я могу получить записи базы данных скак отобразить сообщение, если таблица базы данных пуст в CakePHP

$ this-> набор ('view_applications', $ this-> Application-> найти ('все'));

но я не знаю, как отображать сообщение, если результаты вышеуказанной функции пустые.

вот мой код контроллера

public function index() { 


    $this->set('results', $this->Application->find('all')); 


} 

и вот мой index.ctp код вид

<h1>Requests for Graduation Registration</h1> 
<table class="default-table full"> 
    <thead> 
     <tr> 

      <th style= text-align:center>Last Name</th> 
      <th style= text-align:center>First Name</th> 
      <th style= text-align:center>Middle Name</th> 
      <th style= text-align:center>Computer Number</th> 
      <th style= text-align:center>Status</th> 
      <th style= "text-align:center; width: 40%;">Actions</th> 
     </tr> 
    </thead> 
    <tbody>      
     <?php $count=0; ?> 
     <?php foreach($view_applications as $applications):  
     ?> 

     <?php $count ++;?> 
     <?php if($count % 2): echo '<tr>'; else: echo '<tr class="zebra">' ?> 
     <?php endif; ?> 

      <td style="text-align: center;"><?php echo $applications['Application']['last_name'];?> </td> 
      <td style="text-align: center;"><?php echo $applications ['Application']['first_name']; ?></td> 
      <td style="text-align: center;"><?php echo $applications ['Application']['middle_name']; ?></td> 
      <td style="text-align: center;"><?php echo $applications['Application']['student_id']; ?></td> 
      <td style="text-align: center;"><?php echo $applications['Application']['status']; ?></td> 
     <td> 
     <?php echo $this->Form->create('Student'); ?> 
     <?php echo $this->Form->button(
    'View', 
    array(
     'formaction' => Router::url(
      array('controller' => 'Applications','action' => 'viewdown', $applications['Application']['id']) 
     ) 
    ) 
); ?> | 
<?php echo $this->Form->button(
    'Download', 
    array(
     'formaction' => Router::url(
      array('controller' => 'Applications','action' => 'viewdown', $applications['Application']['id'], true) 
     ) 
    ) 
); ?> | 



      <?php echo $this->Form->button(
    'Approve', 
    array(
     'formaction' => Router::url(
      array('controller' => 'Applications','action' => 'approve', $applications['Application']['id']) 
     ) 
    ) 
); ?> | 
<?php echo $this->Form->button(
    'Disapprove', 
    array(
     'formaction' => Router::url(
      array('controller' => 'Applications','action' => 'disapprove', $applications['Application']['id']) 
     ) 
    ) 
); ?> 










} 


    </td> 
     </tr> 
     <?php endforeach; ?> 
     <?php unset($applications); ?> 
    </tbody> 
</table> 


</div> 
</body> 

</html> 

Где я должен поставить условие для проверки?

ответ

1

$this->set('results', $this->Application->find('all')); Вы использовали в контроллере, и на ваш взгляд, вы зацикливание с другой переменной.

"results" должна быть вашей переменной в foreach как установлено в вашем контроллере.

Вот, кстати. Чтобы ответить на ваш вопрос, вы должны использовать count.

if(count($results) > 0){ 

    //Do whatever u like with data 
}else{ 
//Result is empty display a message 
} 
0

Вы можете считать первым.

`$count = $this->someModel->find('count'); // this display the amount of records, empty like 0.` 
Смежные вопросы