2017-06-26 5 views
1

Ich möchte ändern, was in meiner yii2 App Geschichte Ansicht angezeigt wird, so dass ich nicht die ID einer Person, sondern seinen Vor- und Nachnamen anzeigen. Get Modell von ID in Yii

Dies ist ein Teil meiner Datenraster

 [ 
       'attribute' => 'oldPerson.Id', 
       'label' => Yii::t('app', 'Previously In Charge'), 
       'value' => function($model){     
        return $model->person->FirstName . ' ' . $model->person->LastName; }    
     ], 

aber das ist nicht gut, da meine $model eine Geschichte Objekt ist, die eine Person, die ID enthält. Ich muss irgendwie die gesamte Person Objekt basierend auf dieser ID erhalten, aber ich weiß nicht wie.

Das ist mein Person Modell:

namespace app\models; 

use Yii; 
use \app\models\base\Person as BasePerson; 

/** 
* This is the model class for table "person". 
*/ 
class Person extends BasePerson 
{ 
public $created_at; 
public $created_by; 
public $updated_at; 
public $updated_by; 
public $id; 
    /** 
    * @inheritdoc 
    */ 
    public function rules() 
    { 
     return array_replace_recursive(parent::rules(), 
     [ 
      [['FirstName', 'LastName', 'Title', 'CitizenNumber', 'Employment', 'Contact'], 'required'], 
      [['FirstName'], 'string', 'max' => 20], 
      [['LastName'], 'string', 'max' => 40], 
      [['Title'], 'string', 'max' => 50], 
      [['CitizenNumber'], 'string', 'max' => 13], 
      [['Employment', 'Contact'], 'string', 'max' => 100], 
      [['CitizenNumber'], 'unique'] 
     ]); 
    } 
} 
+0

Aktualisieren Sie Ihre Frage und fügen Sie Ihr Personenmodell hinzu – scaisEdge

Antwort

0

Normalerweise können Sie das Modell auf id auf diese Weise zu $ ​​id

Zusammenhang

public function findModel($id) 
{ 
    if (($model = Person ::findOne($id)) !== null) { 
     return $model; 
    } else { 
     throw new NotFoundHttpException('The requested page does not exist.'); 
    } 
} 

$ Modell der Person enthalten Informationen, basierend bekommen

+0

Also sollte ich diese Methode in der Personenklasse definieren? – Eutherpy

+0

Dies ist normalerweise in Controller vorhanden .. aber für das Modell können Sie einfach verwenden Person :: findOne ($ ID) oder eine andere finden Sie eine aktive Record-Funktion .. – scaisEdge