我要弄清楚这一点,我相信解决方案很简单,但是我真的很难地可视化这些数据关系。所以,这就是我要做的:
我有一个称为" upers"的对象,它需要两个格里场来进行" rateraryItem"one_answers" terinerarytab"数据对象
这是我在三个对象中的一分钟所拥有的,但是每次都在返回错误,我似乎无法弄清楚为什么。
// Offer
$has_many = array(
"ItineraryItems" => "ItineraryItem",
"ItineraryTabs" => "ItineraryTab"
);
// On ItineraryTab
$has_one = array(
"Offer" => "Offer"
);
$many_many = array(
"ItineraryItems" => "ItineraryItem"
);
// on ItineraryItem
$has_one = array(
"Offer" => "Offer"
);
$belongs_many_many = array(
"ItineraryTabs" => "ItineraryTab"
);
正如我所说,解决方案可能很简单,但是经过这么多小时的尝试,我再也看不到它了!请帮我!
我在SilverStripe 3.4上操作,如果有帮助
所以,我必须自己回答这个问题,并找到了有效的东西 - 但是我不确定这是正确的方法或是否是黑客。无论如何,在这里,如果它可以帮助某人。
首先,我必须进入数据库,然后从选项卡对象删除offerid列。
// Offer.php
$has_many = array(
'ItineraryItems' => 'ItineraryItem'
);
$many_many = array(
'ItineraryTabs' => 'ItineraryTab',
);
//ItineraryItem.php
$has_one = array(
"Offer" => 'Offer'
);
$many_many = array(
'ItineraryTabs' => 'ItineraryTab'
);
//ItineraryTab.php
$belongs_many_many = array(
"ItineraryItems" => "Offer.ItineraryItems"
);
如果有人发现一些更优雅的东西,请让我知道,但这似乎现在可以完成工作。