如果有人展示了如何在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中使用它们。
谢谢
答案 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));