0

私は今、次のcakePHPコードで頭を悩ませています:

これは私のコントローラーです:

<?php
class HeaderController extends AppController {
    public $helpers = array('Html', 'Form');

     public function index() {

    }

    public function usp() {
       return $this->set('usp', $this->Header->query('SELECT * FROM USP WHERE Actief = 1'));
    }

}

そしてこれが私の要素です:

            <? 
                $UNSP = $this->requestAction('header/usp');
                print_r($UNSP);
foreach($UNSP['header'] as $USPs): 
    echo $USPs['USP']['Naam']; 
endforeach; 

クエリは機能し、ページの読み込み時に実行されます。foreach()に無効な引数が指定されたというエラーメッセージが表示されます[APP / View / Elements / header.ctp、9行目]

誰かがこれを手伝ってくれませんか?

4

1 に答える 1

1

$UNSPどういうわけか、ビューにはアクションで設定したビュー変数が入力されると想定していますusp()。これはどのようにrequestAction()機能するかではありません。requestAction()呼び出したビューをエコーアウトするか、呼び出している関数の値を返すことができます。

代わりに、usp()ビューがないように見えますが、代わりにデータを取得するために使用されているため、そのように返す必要があります

public function usp() {
   return $this->Header->query('SELECT * FROM USP WHERE Actief = 1');
}

次に、ビューでrequestAction()、関数呼び出しの結果が必要であることを伝えます。

$UNSP = $this->requestAction('header/usp', array('return'));

これ$UNSPで、クエリの結果が含まれるはずです。

于 2012-06-06T14:31:46.603 に答える