2011-04-07 2 views
0

Creating Shells & Tasks셸을 사용하여 cronjobs cakephp, 도움이 필요합니다.

class ReportShell extends Shell { 
    var $uses = array('Report'); 
    function main() { 
     $reports = $this->Report->findAll(); 
     foreach($reports as $report) { 
      $this->out('Report Name: ' . $report['Report']['name'] . "\n"); 
     } 

     $this->out("Total Reports: " . count($reports) . "\n"); 
    } 
} 

이 튜토리얼을 따르는 모델의 데이터를 인쇄하려면 cakephp에 쉘을 만듭니다. 그런 다음 콘솔에 $cake report을 입력하면이 오류 메시지가 나타납니다.

Fatal error: Unable to load DataSource file dbo\dbo_mysql_ex.php in 
C:\xampp\htdocs\cake_test\core\cake\libs\model\connection_manager.php on line 178 

어떤 생각을 어떻게 수정해야합니까?

업데이트 : @olezhek 제안에 따라, 나는 내 database.php 파일을 편집하고 "mysql_ex"대신 "mysql"을 사용합니다. 실제로 다른 오류 메시지가 나타납니다. 내 보고서 셸에로드하지 않은 모델, 어떻게 가능합니까 ??

감사합니다

참고 : 테이블 (보고서), 필드 및 항목과 함께 데이터베이스를 빌드하고 브라우저를 사용하여 테이블 항목을 볼 수 있습니다.

+0

새로운 오류를 붙여 넣을 표시되지 않습니다으로, 에코는 아무것도하지 않습니다? – dogmatic69

답변

0

사용자 정의 mysql 드라이버 (예 : 쿼리 디버깅)를 사용하려고한다고 생각합니다. /app/config/database.php에서 드라이버 이름을 'mysql'으로 변경해야합니다. 또는 여전히 쿼리를 추적하려는 경우 /app/models/datasources/dbo/dbo_mysql_ex.php를 만들고 여기에 http://bin.cakephp.org/saved/32872의 코드를 입력해야합니다.

0

해야합니다. $ this-> Report-> findAll(); $ this-> Report-> find ('all');

보조 노트 : 당신은 왜 크론에 그것을 실행하려는 것 아무도는

+0

findAll()은 find ("all")와 거의 같습니다. 실제 cron을 넣기 전에이 작업을하려고합니다. 그리고 진짜 cron 작업에서 많은 모델을 사용할 것이므로, 그래서 나는 이것으로 충분하다고 생각한다. – littlechad

관련 문제