laravel中3个相关表格的数据

时间:2017-04-18 09:44:01

标签: php mysql laravel

我有三张桌子。 table2 table3 table1table2与一对多关系相关table2table3也与table1有一对多关系。

我需要从这些表中获取一些$rece = \App\Table3::with('table2','table2.table1') ->get(); 列的数据。

我尝试了以下代码。

$rece

我在table1中获得了完整的json数组。但是我需要使用$rece = \App\Table3::with('table2','table2.table1') ->where('columnintable1', 'value')->get(); 中的某个列值来过滤。我试过了

{{1}}

但它的投掷错误。

3 个答案:

答案 0 :(得分:2)

试试这个:

\App\Table1::with(['table2', 'table2.table3' => function ($query) use ($variable) {$query->where('columnintable3', $variable);}])->get();

答案 1 :(得分:2)

试试这个

$rece =  \App\Table1::with('table2','table2.table3')
                ->whereHas('table2.table3', function($query){
                    $query->where("columnname","value");
                })->get();

答案 2 :(得分:2)

使用Constraing eager loading:

$rece =  \App\Table1::with(['table2','table2.table3'=>function($query) {
                     ->where('columnintable3', 'value');
                 }])->get();