0
我遇到了一個我不知道如何解決的問題。 我有公司有一個配置文件(配置文件屬於公司),並有地點(公司有很多地點)。Laravel 5.1 - 查詢多個關係
我試圖讓它們具有像$request->input('search_term')
一個名字,並有至少一個位置與郵政編碼或城市配套$request->input('search_addition')
和配置文件與類型0
我的代碼全部公司是:
$companies = Company::with(['profile' => function ($query) {
$query->where('type', 0);
}])
->whereHas('locations', function ($query) use ($request) {
$query->where('zip', 'like', '%'.$request->input('search_addition').'%')
->orWhere('city', 'like', '%'.$request->input('search_addition').'%');
})
->where('name', 'like', '%'.$request->input('search_term').'%');
最後我補充$companies = $companies->paginate(25);
結果我得到的是不是我想要的。我獲得了所有名稱爲$request->input('search_term')
的公司。它忽略配置文件的類型和位置。對於那些與指定的search_addition不匹配的公司,locations數組是空的,但它仍然會返回公司。
這不起作用。回到繪圖板我猜。雖然你對「與」的暗示很好。也許我可以用這種方式解決問題。 –