对于我的数据库table,虽然下面的代码可以正常工作:
$sql = DB::table('table')->select('id')->orderBy('id', 'asc')->limit(50)->get();
有50行,则不会:
$sql = DB::table('table')->select('id');
$sql->orderBy('id', 'asc')->limit('50')->get();
因为它确实返回正确的行,但是它返回数据库本身中的所有行。我需要能够将其分开,因为我打算在if语句之间添加WHERE取决于用户输入的子句,如下所示(编辑:添加的代码类似于实际代码):
$foo = $request->input('foo');
$bar = $request->input('bar');
$sqls = DB::table('foobar')->select('id', 'name', 'age', 'zip_code');
if($foo === "foo") $sqls->where('age', '<', 31);
if($bar === "bor") $sqls->where('zip_code', '>', '12345');
$sqls->orderBy('age', 'asc')->limit(50)->get();
$return = '';
$sqls->each(function($sql) use (&$return){
$return .= "<td> {$sql->id} </td>"
}
返回所有行,而不是限制为50行。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。