Я создаю функцию в Laravel вместе с таблицами данных и ajax.У меня есть полностью рабочая страница с несколькими функциями, которые возвращают данные в базу данных, однако одна из функций не любит правильно искать и не возвращает никаких данных в таблицу.
У меня есть сборщик данных сследующий код:
<div class=" input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fas fa-clock"></i></span>
</div>
<input class="form-control" type="text" data-plugin-datepicker id="lastLogged" name="lastLogged" placeholder="Owner has not logged in since:">
</div>
Моя кнопка поиска называется: search_data
Мой вызов ajax выглядит следующим образом:
<script>
$(document).on("click", "#search_data", function (e) {
e.preventDefault();
$(this).html("<i class='fa fa-circle-o-notch fa-spin'></i>");
})
$.ajax({
url: "/search/user",
type: "POST",
dataType: "json",
headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
data: {
loginUser : $('#lastLogged').val()
}
})
.done(function(data) {
console.log(data);
table.ajax.reload();
$('#search_data').html('<i class="fas fa-search"></i>');
})
.fail(function(data) {
console.log(data);
$('#search_data').html('<i class="fas fa-search"></i>');
});
});
Мой контроллер PHP:
public function Building(Request $request)
{
if ($request->ajax())
{
$buildings = building::with('ownerinfo');
$data = array();
$totalData = building::count();
$totalFiltered = $totalData;
$start = $request->input('start');
$order = 'id';
$dir = $request->input('order.0.dir');
// Other if statements here with functions
if(isset($request->login))
{
$date = date("Y-m-d H:i:s",strtotime($request->login));
$users = Users::where('last_login_in', '<=', $date)->get();
foreach($users as $user) {
$buildings = $buildings->where('owner', $user->id);
}
}
$buildings = $buildings->get();
if(!empty($buildings))
{
foreach ($building as $building)
{
$nestedData['id'] = $building->id;
$nestedData['name'] = $building->buildingName;
$nestedData['view'] = '<a class="button is-small full-width is-hovered" href="/view/building/' . $building->id . '">View</a>';
$data[] = $nestedData;
}
$json_data = array(
"data" => $data,
"draw" => intval($request->input('draw')),
"recordsTotal" => intval($totalData),
"recordsFiltered" => intval($totalFiltered)
);
return json_encode($json_data);
}
}
}
Это не возвращает никаких данных вообще.Я использую 1 января 2019 года из средства выбора даты для поиска, он имеет значение: 2019-01-01 00:00:00, а данные одного из пользователей в базе данных имеют 2018-08-20 07:11:34.Я проверил запросы с помощью var_dumps, и он возвращает правильных пользователей, однако он не показывает никаких результатов в зданиях с данными.
Идея заключается в том, чтобы позволить администратору выбрать конкретную дату, база данных запускает поиск и возвращает здания пользователей, которые не вошли в систему с выбранной даты.
Что я делаю не так?