Laravel框架中WhereRaw、HavingRaw、OrderByRaw和SelectRaw的用法demo

2023-06-01 00:00:00 框架 用法 WhereRaw

laravel中的原生方法的使用


1.让我们快速开始我们从 WhereRaw 开始

$products = DB::table('products')
    ->whereRaw('price > IF(state = "TX", ?, 100)', [200])
    ->get();



2.havingRaw

Product::groupBy('product_id')->havingRaw('COUNT(*) > 1')->get();


3.orderByRaw

User::where('created_at', '>', '2022-01-01')
    ->orderByRaw('(updated_at - created_at) desc')
    ->get();



4.Eloquent selectRaw()

User::select("*")
     ->selectRaw('amount + ? as amount_with_bonus', [500])
     ->get();



另一个例子

User::select("*")
    ->select('*', DB::raw('amount + 500 as amount_with_bonus'))
    ->get();


ps:

原生表达式将会被当做字符串注入到查询中,因此你应该小心使用,避免创建 SQL 注入的漏洞

相关文章