Laravel Eloquent построение запросов для поиска по году даты - PullRequest
0 голосов
/ 24 октября 2018

Я новичок в laravel, и я работаю над внедрением поиска.

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

это запрос, который я нашел в Интернете в качестве потенциального решения, но он не работает:

$Data = DB::table('actuals')->where('company_id',$companyId)->whereYear('date', '=', $SearchInput)->orderBy('date', 'asc')->get();

Ответы [ 3 ]

0 голосов
/ 24 октября 2018

Это должно работать для вас:

$Data = DB::table('actuals')->where(function($nest) use($SearchInput,$companyId) {
    $nest->where('company_id',$companyId);
    $nest->whereYear('date', '=', $SearchInput); 
})->orderBy('date', 'asc')->get();
0 голосов
/ 24 октября 2018

С Eloquent это будет примерно так:

Actual::orderBy("date", "ASC")->where("company_id, $companyId)->where("date","LIKE", $searchInput."%")->get();
0 голосов
/ 24 октября 2018

Полагаю, у вас $searchInput полная дата, например d-m-Y, попробуйте преобразовать ее в год:

    $searchYr = date('Y',strtotime($searchInput));
    $Data = DB::table('actuals')->where('company_id',$companyId)->whereYear('date', '=', $searchYr)->orderBy('date', 'asc')->get();

Надеюсь, это сработает.

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