按id列查找实体,\ Phalcon \ Mvc \ Model :: findFirst()给出不正确的结果

时间:2012-12-18 02:04:01

标签: php model phalcon

目前我有帖子的帖子,每个帖子都有一个id。

暂时只存在一个帖子,id为id = 92。

如果我执行下面的代码,我将得到非假,但发布id = 92:

$post = NewsPost::findFirst(['id' => 1]);
var_dump($post->id); // gives 92 

似乎是非常奇怪的逻辑.. 可以使用什么方法通过id检索post,如果没有这样的实体,它将返回false / throw异常?

4 个答案:

答案 0 :(得分:7)

试试这个:

$post = NewsPost::findFirst("id = 1");

$post = NewsPost::find(
    array(
        "conditions" => "id = ?0",
        "bind"       => array(0 => 1)
    )
);

答案 1 :(得分:5)

我用:

$instance = Model::findFirst($id);

其中$ id是主键。

答案 2 :(得分:2)

使用

NewsPost::findFirst(['id = 1']);

NewsPost::findFirst(1)

答案 3 :(得分:1)

您应该使用:

NewsPost::findByid(1);

在哪里' id'可以替换为您的任何模型的属性。例如:

NewsPost::findByDescription('Description');
NewsPost::findByyourprop(yourpropval);

然后,您可以计算()返回值count($result)以确定您是否收到任何记录。

注意:我还发现字符串搜索不区分大小写。