2016-11-02 1 views
0

Ich möchte Benutzerobjekt durch seine ID in der benutzerdefinierten Komponente erhalten. Ich habe versucht, auf diese Weise zu tun:CakePhp, wie man Daten vom Modell in kundenspezifischem compoment erhält?

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

Aber ich bekam die folgende Fehlermeldung, da die Benutzer Modell

Call to a member function find() on null 

Ist möglich null ist, diese Daten aus der Tabelle (Modell) in der benutzerdefinierten Komponente zu erhalten bitte und wie?

Vielen Dank für jede Beratung.

+0

Sie versuchen '$ this-> Benutzer = Class :: init ('Benutzer')'? – Sojtin

Antwort

1

Wie dies etwa:

<?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; 
    } 

} 
Verwandte Themen