5

目前我有帖子表,每个帖子都有一个ID。

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

如果我执行以下代码,我不会得到错误,而是使用 id=92 发布:

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

似乎是很奇怪的逻辑.. 可以使用什么方法来按 id 检索帖子,如果没有这样的实体,那将返回 false/throw 异常?

4

4 回答 4

7

试试这个:

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

或者

$post = NewsPost::find(
    array(
        "conditions" => "id = ?0",
        "bind"       => array(0 => 1)
    )
);
于 2012-12-18T02:29:26.520 回答
5

我用:

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

其中 $id 是主键。

于 2014-06-05T12:46:27.403 回答
2

采用

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

或者

NewsPost::findFirst(1)
于 2014-12-01T02:10:53.470 回答
1

你应该使用:

NewsPost::findByid(1);

其中“id”可以替换为模型的任何属性。例如:

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

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

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

于 2015-10-02T16:55:04.927 回答