Laravel 5.1 hasMany запрос отношения

Я пытаюсь разработать простое веб-приложение, в котором я храню данные фермера и информацию о его / ее выращивании.

У меня есть 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Индексный метод, где я получаю фермеров, которые занимаются выращиванием пшеницы. Как мне добиться этого?

0

Решение

Вы бы использовали что-то вроде.

class = FarmerController extends Controller

public function index()
{
$results = FarmerCrop::with('farmers')
->where('farming_crop_name', 'wheat')
->get();

return view('farms.crops', compact('results'));
}

Я не знаю названия ваших моделей, поэтому лучше угадать выше …

Обновить после комментария

В этом случае вы просто добавите еще одну оговорку. Иезекииль был также прав в своем ответе. Но я изменю его и добавлю в ваши новые требования.

$farmers = App\Farmer::with(['crops' => function ($query) {
$query->where('farming_crop_name', 'wheat');
}])
->where('user_type_id', 3)
->get();
0

Другие решения

$farmers = App\Farmer::with(['crops' => function ($query) {
$query->where('farming_crop_name', '=', 'wheat');
}])->get();
3

По вопросам рекламы [email protected]