2010-11-29 15 views
0

私は、CakePHPに新たなんだと私は他のフィールドを使用してモデルを読んでこだわっています。私はシンプルなユーザCRUDを生成するためにケーキベークコマンドを実行しました。私は提供されたURLを使用してユーザーを表示することができます。特定のフィールドを使ってCakePHPモデルを読むには?

私はID = 1を使用してユーザーを表示できます.IDではなく名前でユーザーを表示するとどうなりますか?

/users/view/username 

デフォルトでは、ビュー・ファンクションはIDでユーザー・モデルを読み取ります。

$this->User->read(null, $id) 

ありがとうございます。

答えて

1

あなたはあなたのケースでfind機能やfindBy<Field>()を使用することができますfindByUsername()

check this

+0

こんにちは。ソリューションに感謝します。 :-) – Ben

0

私はcakePHPを自分で使ったことはありませんが、getUserByUsername($ username)のような新しいユーザーモデルのメソッドを実装しなければならない可能性が高いと示唆しています。 これはDALユーザ名に基づいて、そのユーザの詳細情報を取得し、あなたが望むが使用できるユーザーオブジェクトを返す...

0

CakePHPは、findAll()として、いくつかの機能を廃止するために焦点を当てているようです。おそらく、すぐにそのようfindBy<field>()として魔法の方法は同じ運命を持つことになります。

私はあなたがカスタム関数を作成する必要があり、示唆されているものmartswiteお勧めすることができます:

function findUser($username=''){ 
    return $this->find('first', array(
     'conditions' => array(
      'User.username' => $username 
     ) 
    )); 
} 

おそらく、あなたはstatusフィールドを持っている、多分プロフィールが公開されていない、あなたが条件を追加することができます

function findUser($username=''){ 
    return $this->find('first', array(
     'conditions' => array(
      'User.username' => $username, 
      'User.status' => 1 
     ) 
    )); 
} 

私はfindBy<Field>よりモジュラーだと思います。

+0

あなたは、これらの機能が行っていることから、読みになりました 「CakePHPはおそらく、このようなfindBy (とすぐに魔法の方法は)同じ運命を持つことになります。)などのfindAll(のようないくつかの機能を、廃止するために焦点を合わせているようです」非難されるべきですか? – Sunny

関連する問題