由于某些原因,这个查询不起作用,但是当我直接在Navicat上尝试时(我故意犯了一个错误,所以我可以得到Laravel的查询)它完美地工作。我想要检索家族的名称以及它拥有的物种数量。类似的东西:
家庭1 | 3
家庭2 | 8
家庭3 | 1
我的代码:
$sortBy .= "%";
$familias = Familia::select(DB::raw('familias.nombre, COUNT(*) AS cantidad'))
->leftJoin('especies as e', 'familias.id','=','e.id_familia')
->where('familias.id', '=', 'e.id_familia')
->where('familias.nombre', 'LIKE', '"'.$sortBy.'"')
->groupBy('familias.id')
->orderBy('familias.nombre','ASC')
->paginate(10);
其中$sortBy .= "%";
类似于A%
答案 0 :(得分:0)
不要在LIKE字符串中添加引号:
->where('familias.nombre', 'LIKE', $sortBy)
使用引号会最终加倍引用它们,但不会产生任何结果。
顺便说一句,您可以使用DB::getQueryLog()
来查询。无需导致错误。