0

これは比較的一般的なことだと思いましたが、どこにも例が見つかりません。クックブックのセクションでfind()は、この件について少しでも明確ではありませんでした. 多分それはとても単純なことで、Cake はあなたが自分でできると思っているだけなのかもしれません。

ここでやろうとしているのは、ビュー内の配列によって my に渡された ID に基づいて、Cake でユーザーの名前 (現在ログインしているユーザーではなく、別のユーザー) を取得することだけです。

これが私がコントローラーに持っているものです:

public function user_lookup($userID){
  $this->User->flatten = false;
  $this->User->recursive = 1;
  $user = $this->User->find('first', array('conditions' => $userID));
  //what now?
}

この時点では、自分が正しい方向に進んでいるかどうかさえわかりません…ユーザーのデータを含む配列が返されると思いますが、これらの結果をどのように処理すればよいでしょうか? 配列がどのように見えるかを知るにはどうすればよいですか? 私はただreturn($cakeArray['first'].' '.$cakeArray['last'])ですか?わからない…</p>

ヘルプ?

4

1 に答える 1

2

を使用setして、返されたデータを取得し、ビューで変数としてアクセスできるようにする必要があります。setコントローラからビューにデータを送信する主な方法です。

public function user_lookup($userID){
  $this->User->flatten = false;
  $this->User->recursive = 1;

  // added - minor improvement
  if(!$this->User->exists($userID)) {
      $this->redirect(array('action'=>'some_place')); 
      // the requested user doesn't exist; redirect or throw a 404 etc.
  }

  // we use $this->set() to store the data returned. 
  // It will be accessible in your view in a variable called `user` 
  // (or what ever you pass as the first parameter)
  $this->set('user', $this->User->find('first', array('conditions' => $userID)));

}


// user_lookup.ctp - output the `user`
<?php echo $user['User']['username']; // eg ?>
<?php debug($user); // see what's acutally been returned ?>

マニュアルの詳細(これは基本的なケーキのものなので、よく読む価値があるかもしれません)

于 2012-06-12T09:47:48.717 に答える