Yii findByAttributes()具有大于属性。 - php

我已经使用Yii一段时间了,当我想从数据库中提取数据时,通常只使用findByAttributes。

$model=Auction::model()->findAllByAttributes(array('status'=>'1'));

或类似的规定。

我的问题是,我将如何处理大于类型的情况?我试过了

$model=Auction::model()->findAllByAttributes(array('starttime'>=$date));

其中已为日期分配了当前日期/时间设置的位置,但这会导致错误。所以我的问题是我需要使用条件和参数吗?我应该在模型中还是使用Criteria或CActiveDataProvider东西来执行此类操作?

我希望有人指出我正确的方向。我一直只是通过使用findAll()获得,但是我知道它们是实现此目的的更好方法。一些有关何时何地使用属性,条件,参数等的常规信息也很不错。

我已经阅读了Yii文档,并在众多站点中搜索了这些问题的答案,而我没有找到它。

参考方案

即使在findByAttributes上使用params是一个好主意,但这只会匹配。您可以使用findAll并添加条件语句,其格式与您已经在执行的操作非常相似:

$model=Auction::model()->findAll(array(
    'condition'=>'status=:status AND starttime >= :date',
    'params'=>array(':status'=>1, ':date'=>$date),
));

如果您要进行非常复杂的查询或以编程方式构建查询,则可能要使用findAllBySql或CDbConnection :: createCommand或Query Builder,这取决于最适合您的应用的情况。

我会(重新)阅读Working with Databases上的Yii部分,虽然它没有详尽的示例,但很清楚。然后,您可以尝试Yii Blog教程,Larry Ullman's tutorials等。

CDataColumn的“值”内的条件语句 - php

有谁知道如何在CGridView列字段中显示条件值?我在CGridView的DB中有一个性别“ M”的条目,但是我想分别显示“男性”和“女性”,而不是M或F。任何想法都将受到欢迎;-) 参考方案 我发现虽然不允许使用完整的if / else语法,但是可以使用速记语法。像这样:array( 'name'=>'column_n…

Yii 2.0从没有控件的模型获取数据 - php

任何人都可以给我示例如何从模型中检索数据而无需使用Widget?因为需要获取每个表列的数据并将其放入我自己的视图中(不使用小部件)控制器:public function actionIndex() { $searchModel = new B2CProductsSearch(); $dataProvider = $searchModel->search…

在共享服务器上设置Yii - php

我希望使用像Yii这样的PHP框架,但是,似乎要进行设置才能访问终端或控制台。不幸的是,我对服务器的唯一访问是通过FTP客户端进行的,因为它是共享主机。这是否将Yii排除在框架之外? 参考方案 根据此post,您可以在计算机上生成所有文件,然后将文件上传到共享主机。

Yii表前缀无法读取具有该前缀的表 - php

我开始在localhost进行开发,使用yii 1.1.11使用自动生成应用程序,创建用户表,使用gii生成crud。当我迁移到虚拟主机时,我必须为表使用前缀,从而成为“ yii_users”并使用以下命令编辑配置:'db'=>array( 'connectionString' => 'xxxxx…

Yii,yiic和console - php

在Yii的安装说明中,有必要使用控制台和命令行实用程序-yiic。好吧,在我的共享主机上,我没有SSH访问权限。这就是为什么我有以下问题:我必须多久使用一次控制台?出于什么原因?有办法避免使用Yiic吗?我可以在本地服务器上运行yiic,然后将所有内容传输到最终的Web服务器吗?谢谢! php参考方案 来自Yii论坛的答案:不,您不在生产服务器上使用yiic…