在app/Console/MyTheme/view.ctp
中,我有这个片段:
if ($isKey !== true) {
echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n";
echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?> </dd>\n";
}
我可以随意使用某些东西来确定正在使用的字段类型吗?从本质上讲,我希望能够做到这样的事情:
if ($isKey !== true) {
echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n";
if($field['type'] == 'Something')
//do something here
else
echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?> </dd>\n";
}
目标将检测tinyint(1)并显示&#34;是&#34;或&#34;否&#34;烤的时候。或者这个功能是否已经存在?
编辑#1
我刚刚想到我的布尔字段都以&#34为前缀,是_&#34;。我可以做这样的事情:
if ($isKey !== true) {
echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n";
if(strpos($field, "is_") !== false)
echo "\t<dd>Yes or No</dd>\n";
else
echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?> </dd>\n";
}
编辑#2
这在某种程度上有效:
if ($isKey !== true) {
echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n";
if(strpos($field, "is_") !== false)
echo "\t<dd><?php echo \${$singularVar}['{$modelClass}']['{$field}'] ? 'Yes' : 'No'; ?></dd>\n";
else
echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?> </dd>\n";
}
答案 0 :(得分:0)
这似乎是我所寻找的(因为我所有的布尔字段都以“is _”为前缀):
if ($isKey !== true) {
echo "\t<dt><?php echo __('" . Inflector::humanize($field) . "'); ?></dt>\n";
if(strpos($field, "is_") !== false)
echo "\t<dd><?php echo \${$singularVar}['{$modelClass}']['{$field}'] ? 'Yes' : 'No'; ?></dd>\n";
else
echo "\t<dd><?php echo h(\${$singularVar}['{$modelClass}']['{$field}']); ?> </dd>\n";
}