kohana orm jiasing و "محاولة الحصول على ممتلكات غير كائن"
-
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 ، وكلاهما سيكون لهما قيم موجودة في المستخدمين.
يبدو أنني فاتني هذا الخط ، :)
لا تنتمي إلى StackOverflow