我有这个查询
public function index()
{
$properties = PropertyDetail::query()->with('propLocation');
$properties->where('type', Input::get('unitType'));
$properties->where('purpose', Input::get('purpose'));
$properties->where('active', 1);
if (Input::has('specifyType')) {
$properties->where('specify_type', Input::get('specifyType'));
}
if (Input::has('location')) {
$properties->where('state', Input::get('location'));
}
$result = $properties->get();
return View::make('portal.properties.view', compact('result'));
}
propLocation
是我的第二个表,现在如何在那里搜索统计值,
应该怎么做?
我试过了:
if (Input::has('location')) {
$properties->where('state', Input::get('location'));
}
但它不起作用。
未找到专栏
答案 0 :(得分:0)
您无法像这样过滤关系列。您需要使用whereHas()
。
试试这样:
public function index()
{
$properties = PropertyDetail::query()->with('propLocation');
$properties->where('type', Input::get('unitType'));
$properties->where('purpose', Input::get('purpose'));
$properties->where('active', 1);
if (Input::has('specifyType')) {
$properties->where('specify_type', Input::get('specifyType'));
}
if (Input::has('location')) {
$properties->whereHas('propLocation', function ($query) {
$query->where('state', Input::get('location'));
});
}
$result = $properties->get();
return View::make('portal.properties.view', compact('result'));
}