У меня есть две модели в Laravel, и мне нужно определенное отношение между ними.
Родительская модель Track
имеет эту связь с Wire
:
public function wire()
{
return $this->hasMany('App\Wire', 'machineID', 'machineID');
}
Эта связь работаетоднако я должен ограничить это. Каждая строка в Track
имеет два значения: date_from
и date_to
. Каждый Wire
имеет значение date
.
Мне нужно, чтобы отношение было ограничено теми Wire
с date
между date_from
и date_to
родительского Track
.
Я уверен, что должен быть способ, но я попробовал следующее (ниже), и ничего не помогло.
Спасибо за вашу помощь!
метод 1
public function wire()
{
return $this->hasMany('App\Wire', 'machineID', 'machineID')
->whereBetween("wire.date", ["track.dateFrom", "track.dateTo"];
}
метод 2
->with(["wire" => function($query) {
$query->whereBetween("wire.date", ["track.dateFrom", "track.dateTo"]);
}]);