gpt4 book ai didi

php - 当表为空时 Yii 查询不返回 null

转载 作者:行者123 更新时间:2023-11-29 08:20:52 28 4
gpt4 key购买 nike

我有一个空表 tbl_ rating,其中包含 user_id 和 post_id 列。在我的帖 subview 中,我试图检查正在查看的帖子是否已被查看该帖子的用户评分。我在 View 中使用以下内容。

<?php
$sql='SELECT * FROM tbl_rating WHERE post_id='.$model->id.' AND user_id='.Yii::app()->user->getId().';';
$connection=Yii::app()->db;
$command=$connection->createCommand($sql);
$query=$command->query();
if($query != null):
?>
<p>You've already rated this post.</p>

但是,当我查看任何帖子时,它会显示“您已经对此帖子进行了评分”。即使没有评级。当查询方法在表中找不到任何行时,是否返回 null 以外的其他内容?

最佳答案

这样做会返回一个 CDbQueryResult 所以你需要这样做

if($query->rowCount !== 0) { }

(参见:http://www.yiiframework.com/doc/api/1.1/CDbCommand#query-detail)

不过我不建议这样做。如果您正确设置了关系,您应该能够执行类似的操作

if($model->rating !== null) { }

有关清除事件记录关系的示例,请参阅以下内容:http://www.yiiframework.com/doc/guide/1.1/en/database.arr#declaring-relationship

关于php - 当表为空时 Yii 查询不返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19440374/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com