2016-07-12 8 views
0

Ich habe einige Werte in meinem yii2 Frontend-Benutzermodell definiert, mein Modellname ist 'PhCabinetUser' das folgende ist Code von meinem Modell.Benutzerdefinierte öffentliche Variablen yii2 Modell druckt leeren Wert

class PhCabinetUser extends \yii\db\ActiveRecord 
{ 


public $has_liveaccount; 
public $email_verification; 
public $account_deposited; 
public $document_uploaded; 

/** 
* @inheritdoc 
*/ 
public static function tableName() 
{ 
    return 'ph_cabinet_user'; 
} 

Jetzt, wenn ich versuche, $ email_verification in meinem Controller zu bekommen, gibt es leeren Wert zurück.

Folgendes ist Code von meinem Controller.

$model = PhCabinetUser::find()->all(); 
    $row = array(); 

    foreach($model as $obj) { 
    echo $obj['email_verification']; 
    echo $obj->email_verification; 
    } 

aber wenn ich $ obj Array Druck zeigt es Wert für email_verification folgende ist mein print_r ($ obj) Ergebnis.

crm\models\PhCabinetUser Object ([has_liveaccount] => [email_verification] => [account_deposited] => [document_uploaded] => [_attributes:yii\db\BaseActiveRecord:private] => Array ([id] => 29 [company_id] => 1 [first_name] => Super [last_name] => Man [username] => [email protected] [email] => [email protected] [registration_email_token] => PXwTu8KULal2_So5U3wVllxfKg1X-Dzh_1468296370 [country] => 2 [country_code] => +355 [phone] => 1234567890 [dob] => [gender] => male [address1] => [address2] => [city] => [state] => [zipcode] => [source] => Website [owner] => 1 [lead_manager] => [has_liveaccount] => 0 

[email_verification] => 1

[account_deposited] => 0 
[document_uploaded] => 0 
[lead_status] => 1 
[status] => 10 
[created_at] => 1468296369 [updated_at] => 1468296580) 

[_oldAttributes:yii\db\BaseActiveRecord:private] => Array ( 
[id] => 29 
[company_id] => 1 
[first_name] => Super 
[last_name] => Man 
[username] => [email protected] 
[auth_key] => Nc-GABmcqJIpib22L5cuwgBaOKqRvbiQ 
[password_hash] => $2y$13$ZHB6IF51LODVqAEwI2zRkuIWbgEZ165acvpIeiVm2SZBFA1kzpp4S 
[password_reset_token] => 
[email] => [email protected] 
[registration_email_token] => PXwTu8KULal2_So5U3wVllxfKg1X-Dzh_1468296370 
[country] => 2 
[country_code] => +355 
[phone] => 1234567890 
[dob] => 
[gender] => male 
[address1] => 
[address2] => 
[city] => 
[state] => 
[zipcode] => 
[source] => Website 
[owner] => 1 
[lead_manager] => 
[has_liveaccount] => 0 
[email_verification] => 1 
[account_deposited] => 0 
[document_uploaded] => 0 
[lead_status] => 1 
[status] => 10 
[created_at] => 1468296369 
[updated_at] => 1468296580 
) 
[_related:yii\db\BaseActiveRecord:private] => Array () 
[_errors:yii\base\Model:private] => 
[_validators:yii\base\Model:private] => 
[_scenario:yii\base\Model:private] => default [_events:yii\base\Component:private] => Array () [_behaviors:yii\base\Component:private] => Array ()) 

jetzt wie dieser Wert in einer Variablen zu erhalten.

+0

Vielmehr dann echo tun, es über var_dump einmal überprüfen muss boolean sein ich nehme an –

+0

Ja, es ist boolesche Variable. so wie es gedruckt wird? –

+0

Warum verwenden Sie Member-Variable in 'ActiveRecord' Klasse Modell – dod29

Antwort

1

Stellen Sie sicher, dass die öffentlichen Vars Sie ad hinzugefügt die Spitze der Klasse überschreiben Sie nicht Ihre ActiveRecord .. Sie haben bereits den gleichen VAR-Namen im aktiven Datensatz .. die Deklaration einer öffentlichen var im Modell generieren einen Fehler in assignement des valeu und Sie leer Ergebnis zu erhalten ..

0

versuchen Sie es mögen:

if($obj->email_verification) { 
echo "Works"; 
} 
+0

funktioniert nicht .... –

+0

was ist die var_dump ($ obj-> email_verification); Ergebnis –

0

versuchen

$model = PhCabinetUser::find()->all(); 
var_dump($model); exit;