Kohana ORM Aliasing ve "non-nesne özelliğini almak için çalışılıyor"

1 Cevap php

Ben veritabanında aşağıdaki tablolar vardır:

  • teams:
    • kimlik
    • isim
  • matches:
    • kimlik
    • team1_kimlik
    • team2_kimlik

Benim Kohana v2.3.4 uygulamasında aşağıdaki ORM modelleri tanımladık:

class Match_Model extends ORM {
  protected $belongs_to = array('team1_kimlik' => 'team', 'team2_kimlik' => 'team');
}

class Team_Model extends ORM {
  protected $has_many = array('matches');
}

Bir denetleyicisi aşağıdaki kodu:

$match = ORM::factory('match',1);
echo $match->team1_kimlik->isim; /* <-- */

Ile işaretlenmiş Linke aşağıdaki hatayı atma mi /* <--- */:

Trying to get property of non-object

Çerçeve yabancı anahtarın değerini yerine o (has_many veren ve özellikleri belongs_to belirtildiği) gerektiği gibi bir Match_Model örneğine bir başvuru verimli olduğunu.

Am I missing something?

Not: Her ihtimale karşı, ben düzensiz çoğul 'match' => 'matches' application / config / inflector.php eklediğiniz

1 Cevap

SOLVED! Kohana topluluk bana verdi answer:

Mülkiyet belongs_to $ için doğru değer:

class Match_Model extends ORM {
  protected $belongs_to = array('team1' => 'team', 'team2' => 'team');
}

documentation bunu şöyle:

class Blog_Post_Model extends ORM { 
    protected $belongs_to = array('author' => 'user', 'editor' => 'user'); 
}

The blog_posts database table would have 2 columns now, blog_posts.author_id and blog_posts.editor_id, and both would have values that exist in users.id.

Ben o çizgiyi kaçırdım gibi görünüyor :)