1

http://webdesign4.georgianc.on.ca/~100141468/comp2084/todo/clients

问题:http ://webdesign4.georgianc.on.ca/~100141468/comp2084/todo/timesheets/filter2/7

这必须是小写变量或其他东西的问题,但我无法弄清楚。Filter2.ctp IDnameHoursclients编辑

<? foreach($Timesheets as $row): ?>
     <tr><td>
<?=$row['Timesheet']['id']?>
</td><td>
<?=$row['Timesheet']['hours']?>
</td><td>
<a href="../../clients/view/<?=$row['client']['name']?>"><?=$row['client]['name']?></a>
</td><td>
<a href="edit/<?=$row['Timesheet']['id']?>">Edit</a>
    </td></tr>
<? endforeach; ?>
</table>

时间表控制器过滤器2

function filter2($Client_id) {
        $this->set('Timesheets',$this->Timesheet->findAllByClientId($Client_id));
    }
4

1 回答 1

2

在这一行

<a href="../../clients/view/<?=$row['client']['name']?>"><?=$row['client]['name']?></a>

您缺少一个'. 这会产生语法错误。您可能还需要大写'Client'索引以获得所需的结果,因为它是模型的名称。view中的操作也可能ClientsController需要一个 id。您可以将其更改为:

<a href="../../clients/view/<?=$row['Client']['id']?>"><?=$row['Client']['name']?></a>

但是,我建议不要像这样对 url 进行硬编码,而是让 Cake 像这样生成链接:

<?= $this->Html->link($row['Client']['name'], array('controller' => 'clients', 'action' => 'view', $row['Client']['id']) ?>

请参阅有关帮助程序的文档以及HtmlHelper API

于 2012-06-19T05:54:17.757 回答