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