2016-11-23 32 views
2

我試圖從數據庫這樣獲取數據:Yii2:如何檢查是否ActiveRecord的型號是空

$model = ProductFiles::findAll(['product_id' => $product_id]); 

當我檢查count($model),它如果模型爲空,並返回0時相同的模型被呈現以查看,它返回count($model)作爲1。所以,我想知道是否有任何方法來檢查Yii2activeRecord對象,如果它是空的或沒有(我試過isset但結果相同)。任何幫助,高度讚賞。

回答

6

我不確定爲什麼會發生這種情況 - 很高興看到控制器的操作代碼負責通過$model來查看。

至於檢查ActiveRecord是否被取回 - 通常empty()是綽綽有餘。

  • 的靜態方法,如果條件沒有得到滿足findOne()返回的ActiveRecord的實例或null
  • 靜態方法findAll()如果不滿足條件,則返回ActiveRecord實例數組或空數組。

在這兩種情況下empty()回報false如果$model已被提取或以其他方式true