이 글은 find findAll을 사용해 지정된 필드를 찾는 Yii의 구현 방법을 예시 형식으로 보여주고 있으며, 참고용으로 모두와 공유합니다. 구체적인 방법은 다음과 같습니다.
우리 모두 알고 있듯이 다음과 같은 방법이 사용됩니다.
modelName::model() -> find() //找出的是一个对象 modelName::model() -> findALL() //找出的是一个对象集合的数组
객체의 배열과 객체 컬렉션을 찾을 수 있으므로 어떻게 필요한 필드를 찾으려면 모든 필드의 데이터 대신 데이터는 어떻게 되나요? 이전에 했던 작업은 다음과 같습니다.
$criteria = new CDbCriteria; $criteria->select = 'username,id,email'; $criteria->order = 'id DESC'; $users = modelName::model()->findAll( $criteria );
우연히 다른 사람이 백그라운드에서 이 내용을 쓰는 것을 보았습니다. 방법이 매우 좋습니다.
$users = modelName::model()->findAll(array( 'select' =>array('username','id','email'), 'order' => 'id DESC', ));
테스트 결과 작동하는 것으로 나타났으므로 find는 다음과 같은 작업도 수행할 수 있습니다.
$user = modelName::model()->find(array( 'select' =>array('username','id','email'), 'order' => 'id DESC', 'condition' => 'id='.$id, ));
물론 다음 방법을 사용할 수도 있습니다.
$users = $this->user->find(array( 'select'=>array('id','username','email'), 'order' => 'id DESC', 'condition' => 'state=:state AND id=:id', 'params' => array(':state'=>'1',':id' => '2'), ));
같은 방법으로 findAll을 사용해 테스트할 수도 있습니다.
결론:
이 방법을 사용하면 필요한 데이터를 쉽게 얻을 수 있습니다. 물론 페이징이 필요한 경우에도 새 CDbCriteria가 필요합니다.
이 기사가 Yii를 사용하여 데이터베이스 프로그래밍에 도움이 되기를 바랍니다.
findAll을 사용하여 지정된 필드를 찾는 방법에 대한 Yii 관련 기사를 더 보려면 PHP 중국어 웹사이트에 주목하세요!