.ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録

.検索

.メインメニュー

.フォーラムメニュー

.オンライン状況
24 人のユーザが現在オンラインです。 (23 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 24

もっと...

.
.リンク集

メイン
   CakePHP モデル(Model)
     きちんと設定してるはずなのに「Undefined property」となってしまう
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
egaku
投稿日時: 2010-3-8 15:30
Baker スタート
登録日: 2010-2-16
居住地:
投稿: 13
きちんと設定してるはずなのに「Undefined property」となってしまう
初歩的な質問だと思います。

コントローラー内で別モデルからテーブルの内容を受け取って、
自分のテーブルに値を受け渡そうと考えています。
コントローラーから別モデルを呼び出すことはできているようなのですが、
呼び出した先で「Undefined property」となってしまいます。
何が悪いのでしょうか。

=== ソース(コントローラー) ===

<?php
class CalculationsController extends AppController {
  var 
$name 'Calculations';
  var 
$components = array('Action');
  var 
$uses = array('Calculation''CsvDate');
  
  function 
index($scope ''){
    
$data $this->Action->scopeToCalc($scope);
    switch (
$scope) {
      case 
'csv' :
      
//  csvテーブルのデータを受け取る
      
$csv_data $this->CsvDate->findColect();
      if(
$csv_data != null) echo 'なんか持ってこれた。';
      
//  受け取った情報を計算テーブルに登録する
      //$this->Calculation->insertToCalc($csv_data);
      
break;
    }
  }
}
?>



=== ソース(モデル)====

<?php
class CsvDate extends AppModel {
  var 
$name 'CsvDate';
  var 
$useTable 'csv_dates';
  var 
$primaryKey 'execution_datetime';

  function 
findColect() {
    
// csvのデータ取得
    
$params = array(4,10,24,26);
    
$data $this->CsvDate->findAll(array('field' => $params));
    return 
$data;
  }
}
?>



結果

Notice (8): Undefined property: CsvDate::$CsvDate [APP/models/csv_date.php, line 11]

Fatal error: Call to a member function findAll() on a non-object 
in /home/cakephp/app/models/csv_date.php on line 11
hummer
投稿日時: 2010-3-8 15:44
Baker スタート
登録日: 2009-9-11
居住地:
投稿: 2
Re: きちんと設定してるはずなのに「Undefined property」となってしまう
モデルのメソッドなのでCsvDateは$thisになってます

従って
$data = $this->findAll(array('field' => $params));

になるはず
egaku
投稿日時: 2010-3-8 16:16
Baker スタート
登録日: 2010-2-16
居住地:
投稿: 13
Re: きちんと設定してるはずなのに「Undefined property」となってしまう
ありがとうございます。
すごいミスですね…。
たくさんのモデルを受け取りまくってるので、
混乱してきました^^;
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 


. .