关于Yii中findByAttributes的完整示例

时间:2011-06-30 22:26:15

标签: yii

如果有人展示了如何在Yii框架中使用findByAttributes的完整示例,我将不胜感激。

官方文件@ http://www.yiiframework.com/doc/api/1.1/CActiveRecord#findByAttributes-detail

public CActiveRecord findByAttributes(array $attributes, mixed $condition='', array $params=array ( ))

我知道如何使用$属性。我认为在findByAttributes中使用 $ condition $ params 的理由不充分。

请告诉我在什么情况下,你在findByAttributes中使用它们。

谢谢

2 个答案:

答案 0 :(得分:4)

似乎包含它是为了匹配其他框架中的类似函数,并且当您的查询主要是像array('dept_id'=>2,'active'=>'y')这样的列名称数组时最好使用 - 在您的程序中可能有时候更容易通过这种格式的数组,而不是必须重新写入条件。您可能希望在 $ condition 参数中添加其他条件,或者 $ attributes 可能不支持的条件如project_name LIKE "foo%"

像其他查询类型一样,

$ params 用于将条件值绑定到列类型以进行过滤。

请参阅:http://www.yiiframework.com/doc/guide/1.1/en/database.ar#reading-record

  

信息:查询条件是什么时候   匹配一些列与   指定值,我们可以使用   findByAttributes()。我们让   $ attributes参数是一个数组   列索引的值   名。在某些框架中,这项任务   可以通过调用方法来实现   比如findByNameAndTitle。虽然这个   这种做法看起来很有吸引力   造成混乱,冲突和问题   像列名称的区分大小写。

答案 1 :(得分:1)

findByAttributes()

的示例
$modelname->findByAttributes(array('fieldName1'=>$value1,'fieldName2'=>$value2));