Вы можете сделать что-то вроде этого,
$data = Property::with(['dates' => function ($query) {
$query->where('datefield', 'like', '4/11/2019'); // datefield I ain't saw in your output, you can replace it
}],['details' => function ($query) {
$query->where('city', 'like', 'london');
}])->get();
dd($data);
См. Документацию, как его использовать здесь .
Я надеюсь, что ваш формат даты в таблице такой как m/d/Y
если нет, следуйте приведенным ниже инструкциям.
$date = date("Y-m-d",strtotime(str_replace("/","-",$yourdate)));
Вы можете использовать переменную $date
вместо 4/11/2019
.
Примечание. Даты в м / мФорматы d / y или dmy устраняются, рассматривая разделитель между различными компонентами: если разделитель является косой чертой (/), то предполагается, что используется американский m / d / y;тогда как, если разделителем является тире (-) или точка (.), то подразумевается европейский формат dmy.Однако, если год указан в двузначном формате, а разделителем является тире (-, строка даты анализируется как ymd.
РЕДАКТИРОВАТЬ
$property = Property::with(['dates' => function ($query) {
$query->where('datefield', 'like', '4/11/2019');
}])->get();