我正在尝试将过滤器应用于员工,以便在时间表表格中显示它们。如果需要其他代码来帮助我,我会开始发布它。代码是filter.ctp
http://webdesign4.georgianc.on.ca/~100141468/comp2084/todo/employees
问题: http://webdesign4.georgianc.on.ca/~100141468/comp2084/todo/timesheets/filter/19
<table>
<tr>
<th>ID</th><th>name</th><th>Hours</th><th>Employees</th><th>Edit</th>
</tr>
<? foreach($timesheets as $row): ?>
<tr><td>
<?=$row['Timesheet']['id']?>
</td><td>
<?=$row['Timesheet']['hours']?>
</td><td>
<a href="../../employees/view/<?=$row['employee']['name']?>"><?=$row['employee']['name']?></a>
</td><td>
<a href="edit/<?=$row['Timesheet']['id']?>">Edit</a>
</td></tr>
<? endforeach; ?>
</table>
<?
class TimesheetsController extends AppController {
var $name = 'Timesheets';
var $scaffold;
var $helpers = array('Number');
function add() {
//check if user loaded form for first time or had already loaded & is now posting
if ($this->request->is('post')) {
//save the data to the db
if ($this->Timesheet->save($this->request->data)) {
//Build message & add to session
$this->Session->setFlash('Timesheet has been saved');
//take user back to the index page
$this->redirect(array('action'=>'index'));
}
//else save did not work
else {
$this->Session->setFlash('Unable to add Timesheet');
}
}
//populate the Employee list
$this->loadModel('Employee');
$this->set('Employees',$this->Employee->find('list',array('order'=> array('Employee.name'))));
$this->set(compact('Employees'));
//populate the Employee list
$this->loadModel('Client');
$this->set('Clients',$this->Client->find('list',array('order'=> array('Client.name'))));
$this->set(compact('Clients'));
}
//create function to filter Timesheet list by selected Employee
function filter($Employee_id) {
$this->set('Timesheets',$this->Timesheet->findAllByEmployeeId($Employee_id));
}
//create function to filter Timesheet list by selected Employee
function filter2($Client_id) {
$this->set('Timesheets',$this->Timesheet->findAllByClientId($Client_id));
}
}
?>
答案 0 :(得分:1)
您可能需要使用$this->set('timesheets', $timesheets)