Laravel - подсчитать, в каком предложении предложения (Eloquent) - PullRequest
0 голосов
/ 25 сентября 2018

Я работаю в Laravel 5.2, я работаю над проектом, в котором технические специалисты проверяют инструменты компании, у этих инструментов есть сроки, этот срок рассчитывается путем добавления периодичности к дате проверки.

СТОЛОВЫЕ ИНСТРУМЕНТЫ

id |имя |слизняк |периодичность

TABLE INSPECTION_TOOLS

id |tool_id |инспекция_дата

Мне нужно получить все инструменты с истекшим сроком действия Чтобы узнать конечный срок, нам просто нужно добавить месяцы периодичности к дате проверки и проверить, больше ли это сегодня.

Я ПОПЫТАЮСЬ, ЭТО

Я делаю запрос фильтра на моей модели Tool.php следующим образом:

    // Get date today
    $today = \Carbon\Carbon::today();

    $query->whereHas('inspection_tool', function ($query) use ($today,$filtri) {

        // Here i need add periodicity months to 'inspection_tools.inspection_date', but i don't know if we can do calculate inside query clauses.

        $query->where(('inspection_tools.inspection_date')->addMonths('tool.periodicity'),'<', $today);

        // I'm tryng like this but it doesn't work.


    });

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Возможно, вместо добавления «месяцев периодичности» к «дате проверки» вы можете вычесть «месяцев периодичности» из сегодня .а затем сравнить с «датой проверки»

$query->whereHas('inspection_tool', function($query) use ($today, $filtry) {

    // substract 'periodicity months' from 'today'
    $verification_date = $today->subMonths('tool.periodicity');

    $query->where('inspection_tools.inspection_date' , '<', $verification_date);
});
0 голосов
/ 25 сентября 2018

вы можете использовать метод \DB::raw() для записи операторов mysql в поля

$query->whereHas('inspection_tool', function ($query) use ($today,$filtri) {

    $query->where(\DB::raw('(inspection_tools.inspection_date + inspection_tool.periodicity)'),'<', $today);

}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...