Hi,
I have been facing this problem all day long.
I have 2 tables Service and Log. Each Service can have many Logs and each Log belongs to a Service.
I managed to generate the CRUD functionality for both.
Here is what I got:
app/models/Log.php
/**
* @return array relational rules.
*/
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array
(
'services' => array(self::BELONGS_TO, 'Service', 'sv_ident_nr'),
);
}
app/models/Service.php
/**
* @return array relational rules.
*/
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array
(
'logs' => array(self::HAS_MANY, 'Log', 'sv_ident_nr'),
);
}
app/controlelrs/ServiceController.php
/**
* Displays a particular model.
* @param integer $id the ID of the model to be displayed
*/
public function actionView($id)
{
$this->render('view', array
(
'model' => $this->loadModel($id),
));
}
app/views/service/view.php
<h1>Service: <?php echo $model->ident_nr; ?></h1>
<table class="dataGrid">
<tr>
<th class="label"><?php echo CHtml::encode($model->getAttributeLabel('proj_nr')); ?></th>
<td><?php echo CHtml::encode($model->proj_nr); ?></td>
</tr>
<tr>
<th class="label"><?php echo CHtml::encode($model->getAttributeLabel('customer')); ?></th>
<td><?php echo CHtml::encode($model->customer); ?></td>
</tr>
</table>
<h1>Comments</h1>
<?php
foreach ($model->logs as $log): ?>
<div class="comment" id="c<?php echo $log->id; ?>">
<div class="actions">
<?php
echo CHtml::link('View',array($this->createUrl('../log/view', array('id'=>$log['id']))));
echo(' ');
echo CHtml::link('Update',array($this->createUrl('../log/update', array('id'=>$log['id']))));
echo(' ');
echo CHtml::link('Delete',array($this->createUrl('../log/delete', array('id'=>$log['id']))));
?>
</div>
<div class="author">
<?php
echo $log->logger;
?>
</div>
<div class="time">
<?php echo date('j F Y \a\t h:i a', $log->created_at); ?>
</div>
<div class="content">
<?php echo nl2br(CHtml::encode($log->comment)); ?>
</div>
</div><!-- comment -->
<?php endforeach; ?>
The question is : How do I go about paginating the results in the ‘foreach loop’?
Thanks