как отобразить сообщение, если таблица базы данных пуста в cakephp

я могу получить записи базы данных с помощью

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

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

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

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>

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


person Ernest Mwesha    schedule 08.06.2015    source источник


Ответы (2)


Вы использовали $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
}
person Michel    schedule 09.06.2015

Можешь сначала посчитать.

`$count = $this->someModel->find('count'); // this display the amount of records, empty like 0.`
person Manuel    schedule 08.06.2015