0

我正在尝试对员工应用过滤器,以便仅在时间表表上显示它们。如果需要其他代码来帮助您帮助我,我将开始发布。代码是 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));
        }


}
?>
4

1 回答 1

1

您可能需要在控制器上设置变量 $timesheets 使用$this->set('timesheets', $timesheets)

于 2012-06-17T02:21:37.527 回答