首页
学习
活动
专区
圈层
工具
发布

3分钟短文 | Laravel 自定义 SQL 查询参数绑定

引言 laravel使用模型进行数据库操作时,并不是所有的字段或者关联关系 都能满足查询需求,有时候会有一些MySQL的函数计算等功能放在数据库 层面执行。 本文说一说自定义的参数绑定办法。...->orderBy("distance") ->take(20) ->setBindings([$lat, $lng, $lat, $radius]) ->get(); 这个查询语句有些复杂...如果大家经常使用laravel的调试功能的话,应该会注意到,这种问号的写法是laravel本身封装SQL语句用的。...($select, [$lat, $lng, $lat])->having('distance', 'orderBy('distance')->take(20)->get()...; 写在最后 本文通过三种方式实现了laravel模型进行复杂的自定义查询, 其中提供了两种参数绑定的方式,我们推荐使用 selectRaw 的方式, 更为直观。

2.5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    null toarray php,解决Laravel5.5下的toArray问题

    作为一个有轻度强迫症且受ThinkPHP影响较深的PHP码农,总觉得Laravel5.5的DB::xxoo->get()->toArray()之后竟然还没得到我想要的ThinkPHP中的select()...PS:出于尽量不影响原有框架的考虑,我是新建了一个方法叫getList来暂代toArray那不知所谓的返回结果,在没有找到更好的解决办法之前,暂时这么用着,总体感觉,get()->getList()仍觉得略丑...具体修改如下: 1、在/vendor/laravel/framework/src/Illuminate/Support/Collection.php的toAarray方法下,增加一个getList方法...goods_category_name’,’goods_category_shortname’)->where(‘goods_category_show’, ‘=’, 1)->offset(0)->limit(5)->orderBy...(‘goods_category_sort’, ‘asc’)->get()->getList(); 3、返回的正是我所想要的数组,如下图: 以上这篇解决Laravel5.5下的toArray问题就是小编分享给大家的全部内容了

    75350

    (转) Laravel Eloquent 提示和技巧

    有一种优雅的方式可以解决这个问题: $users = User::where('approved', 1)->get(); 等价于: $users = User::whereApproved(1)->get(); 8....$this->attributes['last_name']; } 如果你想按照 full_name 进行排序,下面这句代码将不起作用: $clients = Client::orderBy('...full_name')->get(); // doesn't work 解决办法很简单,我们只需要在获取集合之后利用 sortBy 对集合进行排序即可: $clients = Client...命令行创建模型的同时,创建迁移文件和控制器 laravel创建模型的命令大家都很熟悉: php artisan make:model Company 不过你应该了解另外几个很常用的参数: php artisan...18. update() 方法的执行结果 你有没有想过这段代码究竟返回了什么?

    2.4K30

    WordPress插件Form Maker SQL注入漏洞分析

    if ( $order_by == 'group_id' or $order_by == 'date' or $order_by == 'ip' ) { $orderby = ' ORDER...if ( $order_by == 'group_id' or $order_by == 'date' or $order_by == 'ip' ) { $orderby = ' ORDER...再看一下其他位置有没有类似的危险操作,或者上下文调用中是否对这个参数有检测(拼接前都没有估计其他位置也不能有了)? 对整个插件工程全文搜索$asc_or_desc,继续寻找。...implode(',', $labels_parameters[8]) : ''; $params['groupids'] = $labels_parameters[8]...+when+(select+sleep(5)+from+wp_user+limit+1)+then+1+else+2+end)+asc+--+ 在这之前还要解决一个重要的问题就是找到传参的位置,简单的办法就是在本地搭建的环境中使用产生漏洞插件的各种功能

    1.1K20

    竟然有人质疑我还在用Laravel开发?别忘了PHP是最好的语言。(1)Laravel如何优雅的设置全局变量

    优雅一点~ 经过一番调研之后,找到了解决办法如下: 如何获得全局变量? Request::get("deviceType") 获得了全局变量设备类型,即deviceType。...对model层有没有要求?为什么能直接用? 经过一番调研之后发现,和model层没有关系。...request到model中,是因为我们使用的Request实现了外观设计模式:https://segmentfault.com/a/1190000015296284 在model中甚至工具类中,只要我们使用Laravel...注意:别用错了Request;Laravel内置了很多种Request use Illuminate\Support\Facades\Request; Request::get("deviceType...") 总结 Laravel的设计思想还是非常优雅的,外观设计模式值得再好好消化理解一下。

    1.2K41

    【小程序云开发】云函数路由的高效配置

    在小程序开发工具中,启动云开发默认模板,提供的云函数办法是一个请求对应一个云函数,比如说,我要获取用户登录数据,就添加一个login函数,然后前端就请求这个login获取,如果现在我要通过云函数删除我的使用用户...麻烦,所以我们想办法一个函数处理多个任务,这就需要使用云函数路由了。...) } case 'getFunction5': { return getFunction5(event) }default: break }} 理论和实际操作证明,这种办法确实可行...,但是写着写着,我感觉有点不是很丝滑,不是很流畅,没有写laravel路由配置的那么自然,所以就开始想想有没有其它办法,百度了一下,找到了一个好东西:tcb-router Github地址: https

    1.9K30
    领券