簡體   English   中英

Laravel 5.1 hasMany關系查詢

[英]Laravel 5.1 hasMany relation query

我正在嘗試開發一個簡單的Web應用程序,用於存儲農民的詳細信息及其耕種信息。

我有2個數據庫表- farmerfarmer_crop

farmer table
id | name | phone

farmer_crop table
id | farmer_id | farming_location | farming_crop_name | harvest_end_date

我做了2個控制器FarmerControllerFarmerCropController 農民可以種植多種作物使農民擁有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM