问题描述
我目前正在建立兄弟姐妹之间的关系。
问题:如果我在有兄弟姐妹列表的主要人物并且有记录到数据库,但是每当我去兄弟姐妹之一时,我只能查看主要人物,而不能查看主要人物其他兄弟姐妹。
字母代表兄弟姐妹 第一个场景 - (a : b,c,d,e,f) 第二种情况 - ( b : a )
预期输出:每当我转到第二个兄弟姐妹时,在本例中为“b”,理想情况下它会显示列表中的其他兄弟姐妹。
字母代表兄弟姐妹 第一个场景 - (a : b,f) 第二种情况 - ( b : a,f )
这是我的代码
这个是获取主person下兄弟姐妹列表,传入数组
$sibling_list = [$tree['id']];
$sibling_list_items = YommFtRelationship::whereIn('type_id',$sibling_ids)
->where(function ($query) use ($sibling_list) {
$query->whereIn('member_1_id',$sibling_list)
->orWhereIn('member_2_id',$sibling_list);
})
->distinct()
->get(['member_1_id','member_2_id']);
foreach ($sibling_list_items as $sibling) {
$sibling_list[$sibling->member_1_id] = $sibling->member_1_id;
$sibling_list[$sibling->member_2_id] = $sibling->member_2_id;
}
此代码是为了确保$sibling_list
等于另一个表上的成员
$mergeSibling = DB::table('yomm_ft_relationships AS r')
->join('yomm_ft_members AS m','m.id','=','r.member_1_id')
->whereIn('m.id',$sibling_list)
->get();
我正在尝试调用一个函数来创建 $sibling_list 中兄弟姐妹之间的关系,$sibling_list 是一个来自 foreach 结果的数组。
$mergeSibling->each (function (YommFtRelationship $relationship) use ($sibling_list,$is_biological,$sibling_ids){
$this-> createRelationshipBetween(
$sibling_list->getKey(),$sibling_list->getKey(),$sibling_ids,$gender,$is_biological);
});
我的流程是否正确。干杯小伙子
根据要求,这些是我的桌子
Relationship table
id
type_id
member_1_id
member_2_id
biological
marital_status
status
created_at
updated_at
Relationship types table
id
type
name
created_at
updated_at
ID type Name
1 mother Mother
2 father Father
5 sister Sister
6 brother brother
7 daughter Daughter
8 son Son
9 peer Peer
10 partner Partner
11 caregiver Caregiver
12 whangai Whangai
Rembers table
id
region_id
visitor_id
last_name
first_name
middle_name
preferred_name
NHI
dob
deceased_at
sex_id
gender_id
sexuality_id
created_at
updated_at
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)