2016-11-02 16 views
0

カスタムコンポーネントのIDでユーザーオブジェクトを取得したいと考えています。私はこの方法でやってみました:CakePhpカスタムコンポネントのモデルからデータを取得する方法は?

$query = $this->Users->find('all', [ 
      'conditions' => [ 
       'Users.id' => $uid, 
       'Users.state' => 'ACTIVE' 
      ] 
     ]); 
$results = $query->first(); 

しかし、ユーザーモデルは

Call to a member function find() on null 

はカスタムコンポーネントにテーブル(モデル)から、これらのデータを取得することは可能ですnullであるので、私は次のエラーを得ましたどうしたらいい?

アドバイスをいただき、ありがとうございます。これについて

+0

あなたは 'ます$ this->ユーザー= ClassRegistry ::のinit( 'ユーザー')'試してみますか? – Sojtin

答えて

1

方法:

<?php 
namespace App\Controller\Component; 

use Cake\Controller\Component; 
use Cake\Controller\ComponentRegistry; 
use Cake\Network\Exception\InternalErrorException; 
use Cake\Utility\Text; 

use Cake\ORM\TableRegistry; // <---- 


class YourComponent extends Component 
{ 
    public function getUser($id = null) 
    { 
     $this -> Users = TableRegistry::get('Users'); // <---- 

     $user = $this -> Users -> find() 
      -> where(['state' => 'ACTIVE', 'id' => $id]) 
      -> first(); 

     return $user; 
    } 

} 
関連する問題