Yii Framework Forum: Foreach Mit 1 Datensatz - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Foreach Mit 1 Datensatz Rate Topic: -----

#1 User is offline   beatcode 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 57
  • Joined: 13-May 11
  • Location:Zürich

Posted 23 January 2013 - 06:10 AM

Hallo Zusammen



Ich habe eine Newsletter Routine welche mittels foreach durch alle Datensätze läuft. Die funktioniert auch prima.
Nun möchte ich nach der Registration dem einzelnen Benutzer gleich einen Newsletter zustellen und da bekomme ich den Fehler.
Trying to get property of non-object    

Kann es sein das die foreach schleife wie ich sie aufgebaut habe nicht mit 1 Record umgehen kann?


function CreateNewsletter($id = NULL) {

 $result = 0;
 $result1 = 0;
 $resultplz  = 0;
 $htmlOutput = "";
 
 $this->template = 0;
 
 // Klasse einbinden
  require_once(dirname(__FILE__).'/Newsletter.php');
  
  // Benutzer
  $this->modelBenutzer = new User;
  // Initialversand nach aktivierung
 

 if ($id > 0) {
  $this->id = $id;
  echo $this->id;
  $this->modelBenutzer = User::Model()->FindByPk($this->id);       <----- funktioniert nicht 
  } else {
  $this->modelBenutzer = User::Model()->FindAll();          <------ funktioniert
  }
  
  // Angebote
  $this->modelAngebot = New Angebote;
  $this->modelAngebot = Angebote::Model()->Findall();
  
  // template setzen
  $this->SetTemplate(1);
 
 
 // Benutzer
 foreach($this->modelBenutzer as $i=>$Benutzer) {
 
 
 $htmlOutput = $htmlOutput . '<br><h4>Benutzer ' . $Benutzer->username . '</h4>';   <------ Fehler!!!!!
 $this->AngebotCount = 1;
 
  // Angebote
  foreach($this->modelAngebot as $i1=>$Angebot) {
  $this->Count = 0;

...

......
  




Vielen Dank für die Hilfe
Gruss Beat
0

#2 User is offline   mbi 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 608
  • Joined: 08-May 09

Posted 23 January 2013 - 06:40 AM

findAll() gibt ein Array zurück, findByPk() nicht
0

#3 User is offline   beatcode 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 57
  • Joined: 13-May 11
  • Location:Zürich

Posted 23 January 2013 - 06:44 AM

Na das erklärt alles :)

Mach ich mich mal schlau wie ich das am besten machen kann.

Vielen Dank.
0

#4 User is offline   mbi 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 608
  • Joined: 08-May 09

Posted 23 January 2013 - 07:39 AM

$this->modelBenutzer[] = User::Model()->FindByPk($this->id);

0

#5 User is offline   beatcode 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 57
  • Joined: 13-May 11
  • Location:Zürich

Posted 23 January 2013 - 11:01 AM

Hmm .. Dann kommt.. :(

Eigenschaft "User. ist nicht definiert.    

Diese Fehlermeldung kenn ich noch nicht

ActiveRecord.php

/**
  * PHP setter magic method.
  * This method is overridden so that AR attributes can be accessed like properties.
  * @param string $name property name
  * @param mixed $value property value
  */
 public function __set($name,$value)
 {
  if($this->setAttribute($name,$value)===false)
  {
   if(isset($this->getMetaData()->relations[$name]))
    $this->_related[$name]=$value;
   else
    parent::__set($name,$value);  <--- Fehler
  }
 }


Ich gebe mir jetzt das Array mit findAllBySql
$this->modelBenutzer = User::Model()->findAllBySql('select * from user where id = ' . $this->id);


Danke
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users