CakePHP检查数据库中的特定值是否为真

时间:2016-09-27 17:46:34

标签: php mysql cakephp

下午好,所以我想检查CakePHP中我的数据库中的特定值是否为真         我的SQL表叫做Oral,看起来像这样

    ---------------------
    |PK|OralPresentation|
    ---------------------
    |1 |1               |
    ---------------------

所以我想在控制器中做的是检查该值是否为OralPresentation为1     我在以下代码中这样做

            $OralStatus = $this->Submission->query("SELECT * FROM Oral;");
            //If Oral Presentations are activated
            if($OralStatus['0']['PK']['OralPresentation']==1)
            {
                $this->set('Istrue','true'); //Passing this information to the view.
            }
            else
            {
                $this->set('Istrue','false');
            }
        }

现在当我在我的视图中回显isTrue时,尽管数据库表为1,它总是返回false。我尝试的另一个解决方案是在IF语句中

if($OralStatus['0']['PK']['OralPresentation'])

2 个答案:

答案 0 :(得分:0)

如果你知道你要检查的PK,那么使用field的方法就是方便。

$this->Oral->id = 1;
$Istrue = $this->Oral->field('OralPresentation'); // value for pk 1
$this->set(compact('Istrue'));

cake docs on field

php compact

答案 1 :(得分:0)

        $statusQuery = $this->Submission->query("SELECT * FROM oral WHERE PK = 1");
        $this->set('status',$statusQuery['0']['oral']['OralPresentation']);
        $status = $statusQuery['0']['oral']['OralPresentation'];
        if($status['0']['oral']['OralPresentation']==1)
        {
            $this->set('Istrue',$status);
        }
        else
        {
            $this->set('Istrue',$status);
        }
    }

在尝试了一些基于其他工作的解决方案后,我已经有了这个工作。它能够将数据库的值传递给视图