我正在尝试从数据库中获取数据,如下所示:
let menuButton = self.navigationItem.rightBarButtonItem
if self.revealViewController() != nil {
menuButton?.target = self.revealViewController()
menuButton?.action = "revealToggle:"
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
self.view.addGestureRecognizer(self.revealViewController().tapGestureRecognizer())
}
当我检查$model = ProductFiles::findAll(['product_id' => $product_id]);
时,如果模型为空并且渲染相同模型进行查看,则返回count($model)
,它将0
作为count($model)
返回。所以,我想知道是否有任何方法可以检查1
Yii2
对象,如果它是空的(我试过activeRecord
但结果相同)。任何帮助都非常感谢。
答案 0 :(得分:6)
我不确定为什么会发生这种情况 - 最好看到控制器操作的代码负责将$model
传递给查看。
至于检查是否已提取ActiveRecord - 通常empty()
绰绰有余。
findOne()
将返回ActiveRecord或null
的实例。 findAll()
返回ActiveRecord实例的数组,如果不满足条件则返回空数组。 在这两种情况下empty()
如果已提取false
则返回$model
,否则返回true
。
答案 1 :(得分:0)
if ($model instanceof ProductFiles) {}
使用instanceof
,您可以找到对象是否有记录。