Php 带条件的多表的关系

Php 带条件的多表的关系,php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,我有三张桌子 1.Testcase : id 2.sceanrio : id, testcaseId 3.test case step: id testcase id,sceanrio id 我试图根据以下条件建立这些表的关系 若测试用例有sceanrio,那个么它应该是测试用例的chilr,测试用例步骤应该是场景的子级,否则测试用例步骤应该是测试用例的子级 据我所知,我从来没有见过这样的基于条件的关系。我知道有很多,但我不能在这种情况下应用。有人能帮我如何实现这一点吗 他有很多经历 根

我有三张桌子

1.Testcase : id 

2.sceanrio : id, testcaseId

3.test case step: id testcase id,sceanrio id
我试图根据以下条件建立这些表的关系

若测试用例有sceanrio,那个么它应该是测试用例的chilr,测试用例步骤应该是场景的子级,否则测试用例步骤应该是测试用例的子级

据我所知,我从来没有见过这样的基于条件的关系。我知道有很多,但我不能在这种情况下应用。有人能帮我如何实现这一点吗

他有很多经历
根据laravel文档,我的表与许多表不相关,通过

您可以建立如下关系:-

Testcase Model 
public function getsceanrio(){
    return $this->hasMany('APP\sceanrio','testcaseId','id')->with('gettestcasestep');
}

public function testcasestepGet(){
    return $this->hasMany('APP\TestCaseStep','testcase_id','id');
}     

Now in sceanrio Model
 public function gettestcasestep(){
    return $this->hasMany('APP\TestCaseStep','sceanrio_id','id');
} 
现在在控制器中

Public function someNameofFunction(){
   $getdata = TestCase::with('getsceanrio','testcasestepGet')->get();
   dd($getdata);
}

希望有帮助

@kunal.谢谢,但是如果测试用例的场景不存在,我如何给出条件。如果我使用你的方法,那么测试用例不会出现如果场景不存在是的,如果sceanrio不存在,那么你想要什么类型的功能?我不明白,我的意思是在一些测试用例中,场景不会出现,但测试用例步骤会出现