[英]Laravel 5.1 hasMany relation query
我正在嘗試開發一個簡單的Web應用程序,用於存儲農民的詳細信息及其耕種信息。
我有2個數據庫表- farmer
和farmer_crop
。
farmer table
id | name | phone
farmer_crop table
id | farmer_id | farming_location | farming_crop_name | harvest_end_date
我做了2個控制器FarmerController
和FarmerCropController
。 農民可以種植多種作物使農民擁有hasMany
與FarmerCrop。 現在,我想顯示一個使用FarmerController
的index方法的農民列表,從中可以獲取正在種植小麥的農民。 我該如何實現這一目標?
$farmers = App\Farmer::with(['crops' => function ($query) {
$query->where('farming_crop_name', '=', 'wheat');
}])->get();
您將使用類似的東西。
class = FarmerController extends Controller
public function index()
{
$results = FarmerCrop::with('farmers')
->where('farming_crop_name', 'wheat')
->get();
return view('farms.crops', compact('results'));
}
我不知道您的模型的名稱,所以上面最好猜一猜。
在這種情況下,您只需添加一個額外的are子句。Ezequiel的回答完全正確。 但是,我將對其進行修改並添加您的新要求。
$farmers = App\Farmer::with(['crops' => function ($query) {
$query->where('farming_crop_name', 'wheat');
}])
->where('user_type_id', 3)
->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.