我有3张桌子
1.Testcase : id
2.sceanrio : id, testcaseId
3.test case step: id testcase id,sceanrio id
我正试图根据以下条件为这些表建立关系
如果测试用例有sceanrio那么它应该是testcase和测试用例步骤的chilr应该是方案的孩子或者测试用例步骤应该是测试用例的孩子
根据我的知识,我从未见过像这样的基于条件的关系。我知道有很多通过但我不能适用于这个条件可以任何人帮助我如何实现这个
有很多通过 https://laravel.com/docs/5.4/eloquent-relationships 根据laravel文档,我的表格与许多人没有关联
答案 0 :(得分:1)
你可以这样建立关系: -
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);
}
希望它有所帮助!