我有许多观点,如商店,类别,产品,浇头....
并且经常使用硬编码的模型名称。有时单数或复数。比如 Shop's index.ctp
<ul class="nav nav-tabs">
<li><?php echo $this->Html->link(__('New Shop'), array( 'action' => 'add'));?></li>
</ul>
<div class="page-header">
<h1><?php echo __('Shops'); ?></h1>
</div>
和
<td><?php echo $shop['Shop']['id']; ?>
<td><?php echo $shop['Shop']['name']; ?>
<td><?php echo $shop['Shop']['street']; ?>
...
有没有更好的方法来动态使用模型名称?
谢谢。
答案 0 :(得分:2)
好吧,您可以在代码顶部添加$myshop = $shop['Shop'];
,这样您就可以使用$myshop['id']
,但这就是它。在你需要的地方使用变量并不奇怪。
答案 1 :(得分:0)
如果你真的想要,你可以做同样的控制器,$ this-&gt; modelClass属性包含模型名称。
在控制器中
$this->set('modelClass', $this->modelClass);
在视图中:
echo $shop[$modelClass]['field'];