Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
День добрый
Помогите новичку
Как передать дату в запрос.
$date1 = strtotime( $date1); переменная равна в timestamp '1459209600'
->where(‘date’,’ >’, $date1 )
тип поля timestamp
Всё работает, а вот дата вызывает ошибку.
Изменено Partizan (01.04.2016 00:25:29)
Не в сети
-- затупил, условие же )
Изменено VitalN (01.04.2016 08:56:03)
Не в сети
Не в сети
с терминала как-то скопировало криво.
$articles=Logmac::where('port', '=', $port )->where('ipswitch', '=', $ipswitch )->where('date',' >', $date1 )->paginate(25);
полный запрос
без даты работает
- Структура таблицы `maclog`
--
CREATE TABLE IF NOT EXISTS `maclog` (
`id` int(100) NOT NULL,
`mac` varchar(100) NOT NULL,
`port` smallint(3) NOT NULL,
`ipswitch` varchar(150) NOT NULL,
`name_switch` varchar(100) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=Aria AUTO_INCREMENT=33935 DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 TRANSACTIONAL=0;
--
Изменено Partizan (01.04.2016 09:32:38)
Не в сети
блин что за прикол был так и не понял.
вроде как заработало
но пришлось так дату форматировать
$date1 = $request->input('date1'); 01.04.2016
$date1 = strtotime( $date1);
$date1 = date ('Y-m-d', $date1); в 2016-04-01
Не в сети
Теперь ещё проблема
$articles=Logmac::where('port','=',$port)->where('ipswitch','=',$ipswitch)->whereBetween('date',array($date1,$date2))->paginate(25);
в случае пустого результата поиска в ошибку падает.
хотя опять если без даты выводит как положено пустую страницу.
как обработать исключения или что не так?
Не в сети
проблема с paginate - без неё работает.
мда что посоветуете?
Не в сети
$articles=Logmac::where('port','=',$port)->where('ipswitch','=',$ipswitch)->whereBetween('date',array($date1,$date2));
if ($articles)
{
$articles->paginate(25);
}
Не в сети
По датам расскажу свой лайфкак:
Уже много лет храню даты в int
Очень удобно! условия элементарно добавляются
вывод тоже, через date()
Не в сети
Не катит.
если пагенатор не указывать то на конце должно стоять ->get() иначе ошибка
если указать get то на пагинатор ругается
BadMethodCallException in Macroable.php line 81: Method paginate does not exist.
Изменено Partizan (01.04.2016 16:26:14)
Не в сети
Вообще он не должен падать, что за ошибка то покажи ексепшен
Не в сети
По датам расскажу свой лайфкак:
Уже много лет храню даты в int
Очень удобно! условия элементарно добавляются
вывод тоже, через date()
возможно, но я морду для базы пишу.
Вот решил Ларавел попробовать для этих целей.
В теории можно переписать скрипт вноса данных в базу, просто как то логично было что дата автоматом будет вставляться.
Не в сети
Ларавел для работы с датами использует пакет Carbon
Не в сети
Вообще он не должен падать, что за ошибка то покажи ексепшен
ErrorException in f4e080267348e423ccbe9a350c5851e1b2c9cd9c.php line 23: Undefined variable: article (View: /home/log/resources/views/showlogp.blade.php)
Не в сети
вью покажи тоже )
как клещами чесслово )
Не в сети
public function selectlogp(Request $request){
<------> $this->validate($request, [
<------> 'port' => 'required|digits_between:1,2',
<------> 'ipswitch' => 'required|ip',
<------> 'date1' => 'required',
<------> ]);
<------>$port = $request->input('port');
<------>$ipswitch = trim($request->input('ipswitch'));
<------>$gmac = $request->input('gmac');
<------>$date1 = $request->input('date1');
<------>$date1 = strtotime( $date1);
<------>$date1 = date ('Y-m-d', $date1);
<------>$date2 = $request->input('date2');
<------>$date2 = strtotime($date2);
<------>$date2 = date ('Y-m-d', $date2);
$articles=Logmac::where('port','=',$port)->where('ipswitch','=',$ipswitch)->whereBetween('date',array($date1,$date2));
<------>if ($articles)
<------> {
<------><------>$articles->paginate(25);
<------> }
return view('showlogp',['articles'=>$articles,'date1'=>$date1,'date2'=>$date2]);
}
@extends('layouts.app')
@section('content')
<div class="container">
<table class="table">
@foreach($articles as $article)
<tr>
<td>{{$article->mac}}</td>
<td>{{$article->port}}</td>
<td>{{$article->ipswitch}}</td>
<------><td>{{$article->name_switch}}</td>
<------><td>{{$article->date}}</td>
</tr>
@endforeach
</table>
{{$articles->appends(['port' => $article->port , 'ipswitch' => $article->ipswitch, 'date1' => $date1, 'date2' => $date2])->render()}}
@can('create') <!-- проверяем права -->
<a href="/create">Добавить статью</a>
@endcan
</div>
@endsection
Не в сети
ругается то на эту строку наверное?
{{$articles->appends(['port' => $article->port , 'ipswitch' => $article->ipswitch, 'date1' => $date1, 'date2' => $date2])->render()}}
если пусто - по циклу не прошли $article нет
Изменено VitalN (01.04.2016 16:58:16)
Не в сети
вроде как на неё и что делать?
Не в сети
return view('showlogp',compact('articles','date1','date2', 'port','ipswitch'));
---
{{$articles->appends(['port' => $port , 'ipswitch' => $ipswitch, 'date1' => $date1, 'date2' => $date2])->render()}}
Не в сети
ErrorException in Builder.php line 2177: Call to undefined method Illuminate\Database\Query\Builder::appends() (View: /home/log/resources/views/showlogp.blade.php)
Не в сети
Страницы 1