从表 1 中检索数据,但在表 2 中进行比较 - Laravel eloquent

retrieve data from table1 but do comparision in table2 - Laravel eloquent

我有如下查询:

Relation1::with('relation2') 
->select('relation_1_columns')       
->where('relation_2_column', $relation2->id)  //Throws unknown column error
->where('relation_2_column', 1)               //Throws unknown column error
->get()->toArray();

如果我这样做:

Relation1::with('relation2') 
->select('relation_1_columns')       
->where('relation2.relation_2_column1', $relation2->id)  //Throws unknown column `relation2.relation_2_column` error
->where('relation2.relation_2_column2', 1)               //Throws unknown column `relation2.relation_2_column` error
->get()->toArray();

如何使用 where clause 对使用 with

附加的 table 进行检查

使用whereHas():

Relation1::with('relation2')
      ->select('relation_1_columns')
      ->whereHas('relation2', function($q) use ($relation2){
            $q->where('relation_2_column1', $relation2->id)->where('relation_2_column2', 1);
       })             
      ->toArray();