Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取布尔值的Cakephp 3显示真/假_Php_Cakephp_Cakephp 3.0 - Fatal编程技术网

获取布尔值的Cakephp 3显示真/假

获取布尔值的Cakephp 3显示真/假,php,cakephp,cakephp-3.0,Php,Cakephp,Cakephp 3.0,使用cakephp 3,我在一个表中有一个布尔[tinyint(1)],并且编辑和添加模板在表单上有一个复选框,但是如何让索引和视图模板显示一个字符串,比如true/false或yes/no,而不是1/0。我是否在控制器操作中映射它们,或者是否有可以添加到模板的选项 当您进入显示数据时,可以选择显示字符串而不是int。这是一种简化的方法,因为您没有提供任何代码或其他信息: 在视图中,$isTrue是布尔值: <?php if($isTrue){echo "true";}else{echo

使用cakephp 3,我在一个表中有一个布尔[tinyint(1)],并且编辑和添加模板在表单上有一个复选框,但是如何让索引和视图模板显示一个字符串,比如true/false或yes/no,而不是1/0。我是否在控制器操作中映射它们,或者是否有可以添加到模板的选项

当您进入显示数据时,可以选择显示字符串而不是int。这是一种简化的方法,因为您没有提供任何代码或其他信息:

在视图中,$isTrue是布尔值:

<?php if($isTrue){echo "true";}else{echo "false";} ?>

简单地说:

<?= ($var)?'yes':'no' ?>

两个答案都很好

我在
/src/View/Helper/FormatBooleanHelper.php
中创建了一个Helper类,如下所示:

<?php
/*
* FormatBooleanHelper
*
* CakePHP Helper created to format boolean values in either Yes/No or True/False text.
* By:  Jared Testa
*
*/

namespace App\View\Helper;

use Cake\View\Helper;

class FormatBooleanHelper extends Helper
{

/**
 * yesNo method
 *
 * @param boolean| $value boolean
 * @return string
 *
 */

public function yesNo($value, $showNo = true) {
    return ($value) ? "Yes" : (($showNo) ? "No" : "");
}

/**
 * trueFalse method
 *
 * @param boolean| $value boolean
 * @return string
 *
 */

public function trueFalse($value, $showFalse = true) {
    return ($value) ? "True" : (($showFalse) ? "False" : "");
}

}

?>

在标准约定中,通过包括
$this->loadHelper('FormatBoolean')来使用helper

然后,通过在视图中包括
$this->FormatBoolean->yesNo($booleanVariable)
$this->FormatBoolean->yesNo($booleanVariable,false)
在视图中使用帮助器。后一个示例将在错误响应中将字段留空

过度杀戮?也许……但我认为它适合CakePHP结构,这是创建自己的助手的一个很好的练习

我正在使用CakePHP版本3.3.4中的帮助程序。希望这对将来的人有所帮助

> P>我添加了(底部,JTesta Read)方法,使用基础图标字体3:

得到图形表示-“检查”或“X”。
public function checkX($value, $showFalse = true) {
    return ($value) ? '<i class="fi-check"></i>' : (($showFalse) ? '<i class="fi-x"></i>' : '');
}
公共函数checkX($value,$showFalse=true){
返回($value)?“”:($showFalse)?“”);
}

默认情况下,我在这里使用a来显示带有某些标题的图标,您可以轻松调整自己的图标:)这并不是过度使用,这是编程!现在,如果您决定实际要以小写、大写、真/假的形式显示是/否,那么您只需在一个位置而不是数百个位置进行更改。回答得很好。