kohana orm jiasing و "محاولة الحصول على ممتلكات غير كائن"

StackOverflow https://stackoverflow.com/questions/2813722

  •  26-09-2019
  •  | 
  •  

سؤال

لدي الجداول التالية في قاعدة البيانات:

  • فرق:
    • هوية شخصية
    • اسم
  • اعواد الكبريت:
    • هوية شخصية
    • Team1_id
    • Team2_id

لقد حددت ما يلي orm نماذج في بلدي كوهانا v2.3.4 التطبيق:

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

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

الرمز التالي في وحدة التحكم:

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

هو رمي الخطأ التالي على linke وضع علامة مع /* <--- */:

محاولة الحصول على ممتلكات غير كائن

يوفر الإطار قيمة المفتاح الخارجي بدلاً من الإشارة إلى مثيل match_model كما ينبغي (إعطاء خصائص HAS_MANY و CONFS_TO المذكورة).

هل فاتني شيء؟

ملاحظة: فقط في حالة إضافة الجمع غير المنتظم 'match' => 'matches' في التطبيق/التكوين/interctor.php

هل كانت مفيدة؟

المحلول

تم حلها! أعطاني مجتمع كوهانا إجابه:

القيمة الصحيحة لخاصية $ insers_to هي:

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

ال توثيق ينص على ذلك:

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

سيكون لجدول قاعدة بيانات blog_posts عمودان الآن ، blog_posts.author_id و blog_posts.editor_id ، وكلاهما سيكون لهما قيم موجودة في المستخدمين.

يبدو أنني فاتني هذا الخط ، :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top