【发布时间】:2020-11-22 15:07:51
【问题描述】:
$vistors 将返回 vistors 表中的所有数据
我希望在客户端请求$inputs['hideMe'] == true 时查询所有访问者是否$visitor->ip != '127.0.0.1'。
查看
http://app.test/visitor?interval=day
路线
Route::get('/visitor','VisitorController@index');
我有
public function index()
{
$inputs = Request::all();
$interval = '';
if(array_key_exists('interval', $inputs)){
$interval = $inputs['interval'];
}
switch ($interval) {
case 'day':
$data = Visitor::where('created_at', '>', now()->today())->paginate(15);
break;
case 'week':
$data = Visitor::where('created_at', '>', now()->subWeek())->paginate(15);
break;
case 'month':
$data = Visitor::where('created_at', '>', now()->subMonth())->paginate(15);
break;
case 'year':
$data = Visitor::where('created_at', '>', now()->subYear())->paginate(15);
break;
default:
$data = Visitor::orderBy('updated_at', 'desc')->paginate(15);
break;
}
$visitors = [];
function hideMe($inputs, $data){
foreach($data as $i => $visitor){
if($visitor->ip != '127.0.0.1' || $visitor->ip != '24.62.137.111'){
$visitors[$i] = $visitor;
}
}
}
if(array_key_exists('hideMe', $inputs)){
$hideMe = $inputs['hideMe'];
if($hideMe == true){
hideMe($inputs, $data);
}
} else {
$visitors = $data;
}
// dd($visitors);
return View::make('layouts.be.visitors.index', get_defined_vars());
}
当我这样做时,它似乎不起作用。 由于我在视图上使用分页,所以我会一直收到此错误。
使用数组上的QueryString()调用成员函数
结果
这是完美的工作
- ✅
http://app.test/visitor?interval=day - ✅
http://app.test/visitor?interval=week - ✅
http://app.test/visitor?interval=month - ✅
http://app.test/visitor?interval=year
这根本不起作用
- ❌
http://app.test/visitor?interval=week&hideMe=true
关于如何为我的查询添加逻辑的任何建议?
【问题讨论】:
-
到达方法的路由是什么?
-
我添加了路线
Route::get('/visitor','VisitorController@index'); -
你能展示一下索引方法是如何初始化的吗? IE 如何将
$inputs变量放入hideme()方法中?这是在index()内吗? -
我将分享我的整个
index()和我的VisitorController以加载该视图。 -
你得到 $hideMe 参数了吗?
标签: php laravel eloquent pagination laravel-7