0

次のコードがあります。

print_r( $this->request->data['User'] ['username'] );
print_r( $this->User->findByRole($this->request->data['User']['username']) );

ご覧のとおり、これはテストのためのものですが、これを実行しようとすると、ユーザー名が正しく取得されます (最初の print_r) が、2 番目の print_r は空の配列を返します。

ユーザーデータベースに Role というフィールドがあることは知っていますが、それが空ではないことも知っています。従業員を返す必要があります。

それで、私は何を間違っていますか?

4

1 に答える 1

1

使用findByUsernameして、2 番目のパラメーターを使用して、次を指定しますfields

$this->User->findByUsername($this->request->data['User']['username'],array("User.role"));

または標準的な方法:

$this->User->find("first",array(
    "fields" => array("User.role")
    ,"conditions" => array("User.username" => $this->request->data['User']['username'])
));
于 2013-08-12T11:11:06.120 に答える