Yii过滤结果没有关系

时间:2014-05-07 06:40:29

标签: php yii model relational-database

我在Yii中使用CGridView,其中包含来自其他模型的一些关系的结果

            <?php $this->widget('zii.widgets.grid.CGridView', array(
                'dataProvider'=>$model->search(),
                'filter' => $model,
                'columns' => array(
                    array(
                        'name' => 'user.name',
                        'header' => Yii::t('app', 'User'),
                        'value' => '!isset($data->user->name) ? Yii::t("app", "Unknown user") : $data->user->name',
                        'type'  => 'raw',
                        'filter' => CHtml::activeTextField($model, 'keyName'),
                    ),
                    array(
                        'name' => 'visitor.company',
                        'header' => Yii::t('app', 'Company'),
                        'value' => 'isset($data->visit->visitor->company) ? $data->visit->visitor->company : (isset($data->rfid->rfid) ? Yii::t("app", "Company 1") : Yii::t("app", "Unknown company"))',
                        'type'  => 'raw',
                        'filter' => CHtml::activeTextField($model, 'visitorCompany'),
                    ),
                    array(
                        'name' => 'pass_id',
                        'header' => Yii::t('app', 'Pass'),
                        'value' => '!isset($data->pass_id) ? Yii::t("app", "Massing pass") : "<span class=\"label label-primary\">" . $data->pass_id . "</span>"',
                        'type'  => 'raw',
                    ),
                ),
            )); ?>

并且有isset()条件检查是否存在关系(否则会发生错误)

但现在我正在寻找一种方法来过滤那些结果。例如,在过滤器中写入“未知”以在其他表或“公司”中获得没有关系的结果,以获得那些没有某种关系但具有另一个现有关系的结果

0 个答案:

没有答案