
我不知道我的查詢出了什么問題,但計數顯然是錯誤的,它一直顯示1912我的總記錄是什么時候12363
我試過了
在我的默認情況下更改此行
$q = Visitor::where('created_at', '<', now());
到
$q = Visitor::all(); but I got error;
方法 Illuminate\Database\Eloquent\Collection::orderBy 不存在。
switch ($interval) {
case 'day':
$q = Visitor::where('created_at', '>', now()->today());
break;
case 'week':
$q = Visitor::where('created_at', '>', now()->subWeek());
break;
case 'month':
$q = Visitor::where('created_at', '>', now()->subMonth());
break;
case 'year':
$q = Visitor::where('created_at', '>', now()->subYear());
break;
case 'last':
$q = Visitor::where('created_at', '>', $last);
break;
default:
$q = Visitor::where('created_at', '<', now());
break;
}
$visitors = $q->orderBy('created_at', 'desc')->paginate(15);
http://app.test/visitor?interval=year
我得到1912- 正確????
http://app.test/visitor
我得到了1912- 不正確?,它應該查詢所有,因為沒有指定間隔。
如果我做 :
dd(count(Visitor::all()));
我得到了12363,這應該是正確的值。
如果你發現我錯過了什么,請告訴我
uj5u.com熱心網友回復:
$q = Visitor::all();回傳一個Illuminate\Database\Eloquent\Collection。
呼叫$visitors = $q->orderBy('created_at', 'desc')->paginate(15);將呼叫->orderBy(...)該類中不存在該方法的 Eloquent 集合。
解決方案
代替:
$q = Visitor::where('created_at', '<', now()); ?
用這個:
$q = Visitor::query(); ?
uj5u.com熱心網友回復:
也許你可以使用->whereDate('created_at', now()),->whereTime('created_at', '00:00:00')如果你需要
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/451163.html
