Php 未定义的偏移量:拉维6中的1
我遇到了一个未定义偏移量的问题。这是我的控制器:Php 未定义的偏移量:拉维6中的1,php,laravel,laravel-6,Php,Laravel,Laravel 6,我遇到了一个未定义偏移量的问题。这是我的控制器: if($request->submit == "online") { if(!empty($_POST['speciality'])){ $users = User::where('speciality','=',$_POST['speciality'])->orWhere('speciality1','=',$_POST['speciality'])
if($request->submit == "online")
{
if(!empty($_POST['speciality'])){
$users = User::where('speciality','=',$_POST['speciality'])->orWhere('speciality1','=',$_POST['speciality'])
->orWhere('speciality2','=',$_POST['speciality'])->get();
return view('result',compact('users'));
}
}
我使用的是Laravel6。
这是我的刀:
@foreach($users)
hello {{$user['full_name']}}
@endforeach
我需要帮忙。谢谢大家! 在本例中,您实际上无法使用orWhere,因为您已经通过调用get()方法重新执行了查询,之后结果将是一个集合,而不是查询生成器
解决方案应该是删除第一个get方法调用。在这种情况下,您实际上不能使用orWhere,因为您已经通过调用get()方法重新执行了查询,然后结果将是一个集合,而不是查询生成器
解决方案应该是删除第一个get方法调用。您正在集合上使用的orWhere(即在调用->get()之后)。你不能那样做。您需要在模型上使用它(好的,查询生成器) 因此,您的代码应该如下所示:
if($request->submit == "online")
{
if(!empty($_POST['speciality'])){
$onlineUsers = User:: where('online_position','=',1);
$users = $onlineUsers>where('speciality','=',$_POST['speciality'])
->orWhere('speciality1','=',$_POST['speciality'])
->orWhere('speciality2','=',$_POST['speciality'])->get();
return view('result',compact('users'));
}
}
您正在集合上使用orWhere(即调用->get()之后)。你不能那样做。您需要在模型上使用它(好的,查询生成器) 因此,您的代码应该如下所示:
if($request->submit == "online")
{
if(!empty($_POST['speciality'])){
$onlineUsers = User:: where('online_position','=',1);
$users = $onlineUsers>where('speciality','=',$_POST['speciality'])
->orWhere('speciality1','=',$_POST['speciality'])
->orWhere('speciality2','=',$_POST['speciality'])->get();
return view('result',compact('users'));
}
}
你试过调试这个问题吗?你试过调试这个问题吗?