我有以下三个表:
A
-------------
| id | name |
-------------
B
--------------------
| id | A_id | name |
--------------------
C
--------------------
| id | B_id | name |
--------------------
因此,表C
中的数据属于表中的数据,表中的数据B
属于表中的数据A
。现在,我想查询C
,同时还从B
andA
中检索数据,下面的代码就可以了。
C::with('B.A')->get();
现在的问题是我想查询C
一些约束。这些约束之一是id
of A
。我尝试了以下方法:
C::with(array('B.A' => function ($query)
{
$query->where('id', '=', $constraint);
}))->get();
但似乎 Eloquent 会在C
不考虑约束的情况下检索所有行,除非它执行查询以检索 table 中的数据A
。我该如何解决这个问题?我是否需要在 中添加另一个字段C
,即A_id
,并与$constraint
该字段匹配?