我有两个表,它们之间具有ManyToMany关系
Artist
id:unique id
qid:shared id
name:string
和
Influence
id:id
qid:shared id
name:string
is_person:boolean
影响力表中的某些名称也存在于“艺术家”表中,并共享qid
。
我想用所有存在于Artist DB中的Artist及其影响的树来构建一棵树。我想递归地浏览所有的影响,并得到嵌套在父项下的其影响。我不知道每种关系会发展到什么程度。
public function getRelationships() {
foreach($artists as $artist) {
foreach($artist->influences as $influence) {
if($influence->is_person) {
$child = Artist::where('qid' , '=', $influence->qid);
//somehow call getRelationships() here
//again with what I need to construct the relationship
//tree
}
}
}
}
答案 0 :(得分:0)
我认为这段代码对您有用 但是您需要使一个愚蠢的工匠成为您父亲的父亲,并且需要在调用它时将其传递给功能
public function getRelationships($artist) {
$returndata['Artist']=$artist;
foreach($artist->influences as $influence) {
if($influence->is_person) {
$child = Artist::where('qid' , '=', $influence->qid);
$returnData['influence'][]=getRelationships($child);
}
}
return $returnData;
}
但是如果您对我有疑问,如果影响力不是人,我不知道该怎么办!