이 내 MySQL의 테이블 "listazelja"내가 내 컨트롤러에서이 코드를 제목에 언급 것을 얻을 할 http://prntscr.com/duj2tf최대 이틀 된 테이블 랭킹 10 위를 차지하십시오?
:
:<?php
namespace App\Http\Controllers;
use App\ListaZelja;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class GlazbeniController extends Controller
{
public function listazelja(){
$sada = Carbon::now();
$listaZelja = DB::table('listazelja')->orderBy('zapis_count','desc')->select(DB::raw('count(*) as zapis_count'),'zapis_id')
->groupBy('zapis_id')
->having($sada->diffInHours(Carbon::createFromFormat('Y-m-d H-m-s', 'created_at')) <= 48)
->take(10)->get();
return view('pregledajlistuzelja',compact('listaZelja'));
}
}
이 내가 점점 오전 오류가 네 자리 연도
누락 데이터를 찾을 수 없습니다 : 425 Carbon.php 라인InvalidArgumentException
이 코드 줄에 문제가 있다는 것을 알고 있습니다. ->having($sada->diffInHours(Carbon::createFromFormat('Y-m-d H-m-s', 'created_at')) <= 48)
그래서 제대로 작동하려면 어떻게해야합니까?
P. MySQL은 created_at 유형이다 : 타임 스탬프
'created_at'은 $ sada에서 호출하기 때문에 문자열로 전달되는 것 같습니다. 추신. 이것이 내가 프레임 워크를 싫어하는 이유입니다. – fie
Mysql NOW() 함수와 INTERVAL 또는 TiMEDIFF를 사용해보십시오 ... – ratmalwer
'Carbon :: createFromFormat ($ format, $ time, $ tz);'에서 두 번째 인수는'$ time'이어야하지만 문자열을 전달하고 있습니다. 'created_at'의 값을 사용하십시오. Carbon :: createFromFormat ('Y-m-d H', '1975-05-21 22') -> toDateTimeString(); // 1975-05-21 22 : 00 : 00' – Gayan