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不存在,那么你想要什么类型的功能?我不明白,我的意思是在一些测试用例中,场景不会出现,但测试用例步骤会出现