을 얻을 데이터로서 db 를 사용하여 배열에 yii
-
26-12-2019 - |
문제
새로운 yii.나의 문제,나열 $hometeamid
을 포함하는 모든 id 는 필요를 세부 정보를 표시할 수 있습니다.어떻게 받을 수 있는 데이터입니다.plz 누군가가 나에게 도움
가 $mod = Yii::app()->db->createCommand('SELECT * FROM event WHERE id = 1432201 or id = 1432208')->queryAll();
$no=1432201;
$mod = Event::model()->findByAttributes(array('id' => $no));<br>
그러나 작동하지 않습니다.빈 필드를 보이고 있습니다.
해결책
최 할 addInCriteria wiith CDbCriteria 또는 간단한 createCommand 처럼,하지만 전에 하는 것을 확인하시기 바랍에 대한 쿼리 phpmyadmin/navicate/mysql 작업대 등입니다.수동으로(그것은 결과를 반환 또는지?)
$homeTeamIds=['1','2','3','4'];
$criteria = new CDbCriteria;
$criteria->addInCondition('id',$homeTeamIds,'OR'); //matching any of your homeTeadIds
$result = Event::model()->findAll($criteria);
나
$ids = implode(', ', $homeTeamIds);
$sql = "SELECT * FROM event WHERE id IN ($ids)" // like where id IN(1,2,3,4)
$result = Yii::app()->db->createCommand($sql)->queryAll();
다른 팁
사용하지 말라 findByAttributes 설정하는 경우 id 를 기본 키의 db.
예제:
$mod = Event::model()->findbyPk($no);
당신이 사용할 수 있는 CDbCriteriako addInCondition() 는 방법을 찾 모든 행 값이 일치하는 항목에서 배열,예를 들어 다음과 같이 작업(테스트):
$hometeamid = array(
'1432201',
'1432208',
// ... etc... all the id's you want to show
);
$criteria = new CDbCriteria;
$criteria->addInCondition('id',$hometeamid,'OR');
$mod = Event::model()->findAll($criteria);
심지어는 예를 사용하여 addInCondition 에서 최고의 CDbCriteria 페이지 참조: http://www.yiiframework.com/doc/api/1.1/CDbCriteria
첫번째 프로세스의 배열을 쉼표로 구분된 문자열로 사용되는 조건 값에 sql 쿼리
$idString = implode(', ', $hometeamid);
다음 장소는 내부 문자열 IN
절에서 sql 쿼리가 있습니다.
$sql = "SELECT *
FROM event
WHERE id IN ($idString)"
$mod = Yii::app()->db->createCommand($sql)->queryAll();
후 실행 queryAll
방법을받을 것이다 관련 행 결과 배열