我对这种关系感到困惑。
我已经创建了两个数据库
技能(int id,字符串标题) 事件(int id,字符串标题,文本技巧)
将关系字段添加到Event的fields.yaml文件中
技能: 标签:技能 nameFrom:标题 descriptionFrom:说明 跨度:自动 类型:关系
数据透视表foo_bar_events_skills(int event_id,int skill_id)
将关系添加到两个模型文件中
static void __exit ip_vs_cleanup(void)
{
nf_unregister_hooks(ip_vs_ops, ARRAY_SIZE(ip_vs_ops));
unregister_pernet_device(&ipvs_core_dev_ops);
unregister_pernet_subsys(&ipvs_core_ops); /* free ip_vs struct */
ip_vs_sync_cleanup();
ip_vs_conn_cleanup();
ip_vs_app_cleanup();
ip_vs_protocol_cleanup();
ip_vs_control_cleanup();
ip_vs_estimator_cleanup();
pr_info("ipvs unloaded.\n");
}
因此,现在我可以向“事件”添加技能了-我检查了数据透视表并在其中具有适当的值,但是当我尝试使用foreach循环显示技能数据时
Event Relation :
public $belongsToMany =[
'skills' => [
'foo\bar\Models\Skill',
'table' => 'foo_bar_events_skills',
'order' => 'title'
]
];
Skill Relation :
public $belongsToMany =[
'events' => [
'foo\bar\Models\Event',
'table' => 'foo_bar_events_skills',
'order' => 'title'
]
];
它什么也不返回。其他“事件”实体的字段都是完全可访问的。
请与我分享任何想法,为什么会发生,
P.S。当我在数据库中检查当前事件的值时,我注意到我的“技能”字段为空。可以,还是我错过了什么?
我尝试添加的UPS
{% for skill in event.skills %}
{{skill}}
{% endfor %}
到我的belongsToMany描述中,所以看起来像是
'otherKey' => 'event_id',
'key' => 'skill_id'
但这也不起作用
UPD2。标准的CMS工具无济于事,因此我不得不手动从关系表中获取数据。