Добрый день, мне нужно получить элеметы из БД на сегодня при помощи Carbon.
Есть 3 таблицы: districts, addresses, orders. Вот их модели:
class Districts extends Model
{
use HasFactory;
protected $primaryKey = 'id';
protected $guarded = [];
public function address()
{
return $this->hasMany('App\Models\Addresses', 'district_id', 'id');
}
}
class Addresses extends Model
{
use HasFactory;
protected $guarded = [];
public function orders()
{
return $this->hasMany('App\Models\Orders', 'address_id', 'id');
}
public function district()
{
return $this->belongsTo('App\Models\Districts', 'district_id', 'id');
}
}
class Orders extends Model
{
use HasFactory;
protected $guarded = [];
protected $searchable = [
'name',
];
public function address()
{
return $this->belongsTo('App\Models\Addresses', 'address_id', 'id');
}
}
В таблице Orders есть столбец $table->date('date_of_completion'); который отображает на какую дату создан заказ. Мне нужно получить все districts где orders date_of_completion будет равен сегодняшнему дню.
А это одня из моих попыток получения:
$districts = Districts::where(function($ds)
{
$ds->address->where(function ($addr)
{
$addr->orders->whereDate('date_of_completion', Carbon::today());
});
})->get();
Уточню: Нужно получить все Orders, у которых есть Addresses, у которых есть Orders, у которых поле date_of_completion должно быть равно сегодняшнему дню.