目前我有帖子的帖子,每个帖子都有一个id。
暂时只存在一个帖子,id为id = 92。
如果我执行下面的代码,我将得到非假,但发布id = 92:
$post = NewsPost::findFirst(['id' => 1]);
var_dump($post->id); // gives 92
似乎是非常奇怪的逻辑.. 可以使用什么方法通过id检索post,如果没有这样的实体,它将返回false / throw异常?
答案 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)
以确定您是否收到任何记录。
注意:我还发现字符串搜索不区分大小写。