doudou6050 2018-12-14 15:46
浏览 74
已采纳

Laravel whereNotNull法规不能正常工作

I fetching data from DB and when I do that, trying to eliminate null rows.

public function search(Request $request)
{
    $q = $request->q;

    $estates = \DB::table('allestates')
        ->whereNotNull('lat')
        ->whereNotNull('lng')
        ->where('lat', '!=', '')
        ->where('log', '!=', '')
        ->where(function($query) {
            $query->where("building_name", "LIKE", "%" . $q . "%")
                ->orWhere("address", "LIKE", "%" . $q . "%")
                ->orWhere("company_name", "LIKE", "%" . $q . "%")
                ->orWhere("region", "LIKE", "%" . $q . "%")
        })
        ->orderBy('price')->paginate(8);

    return view("home", compact('estates', 'q'));
}

I can't figure out how to solve syntax error at this line:

   })
   ->orderBy('price')->paginate(8);
  • 写回答

1条回答 默认 最新

  • dongzhimeng2464 2018-12-14 16:38
    关注

    You can check for empty strings by adding ->where('lat', '!=', '')->where('log', '!=', '') to your query. You'll also need to add a closure to break off your OR statements:

    public function search(Request $request)
    {
        $q = $request->q;
    
        $estates = \DB::table('allestates')
            ->whereNotNull('lat')
            ->whereNotNull('lng')
            ->where('lat', '!=', '')
            ->where('lng', '!=', '')
            ->where(function($query) use ($q) {
                $query->where("building_name", "LIKE", "%" . $q . "%")
                    ->orWhere("address", "LIKE", "%" . $q . "%")
                    ->orWhere("company_name", "LIKE", "%" . $q . "%")
                    ->orWhere("region", "LIKE", "%" . $q . "%");
            })
    
            ->orderBy('price')->paginate(8);
    
        return view("home", compact('estates', 'q'));
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证