2017-08-10 60 views
0

我想算其中id是讓我們說32這個命令行:計數表中的行返回1個行時表是空

$countReviews = Yii::$app->db->createCommand("SELECT COUNT(*) 
               FROM `product_review` 
               WHERE `product_review`.`product_id`=$book->id")->execute(); 

有表中沒有行,但這個返回1作爲結果。這是爲什麼 ?這是完成任務的正確方法嗎?謝謝!

+0

您確定它返回1或其他值嗎? –

回答

2

無聚合查詢GROUP BY總是返回一行。計數的的值爲的計數爲零,但行數爲1.

我認爲您正在查看查詢返回的行數,而不是計數返回的值。

+1

是的!做了另一個測試,我看到結果是0.該數組有一個結果,其中包含0,所以我真的在看我猜的數組長度。 –

2

​​是用於處理數據(插入/更新/刪除等)的sql查詢。作爲documentation說:

此方法僅用於執行非查詢 SQL語句,如INSERT,DELETE,UPDATE的SQL。 將返回結果集

你應該在這裏使用query(),甚至querySacalar()如你期待一個整數值。

+0

謝謝!我不得不再次閱讀文檔,我猜。 –

相關問題