【问题标题】:write raw query for between in eloquent laravel在 eloquent laravel 中为 between 编写原始查询
【发布时间】:2017-09-29 21:31:32
【问题描述】:

您好,我在 laravel 中有一个查询范围,我有一个名为 km 的列,即 varchar。现在我想为它编写一个原始查询范围。问题是它不会搜索varchar。所以需要将km转换为无符号。

查询-:

Product::km($kmFrom, $kmTo);

查询范围

public function scopeKm($query, $kmFrom, $kmTo)
{   
    $kmFrom = (int)$kmFrom;
    $kmTo = (int)$kmTo;

    if((count($kmFrom) > 0) && count($kmTo) > 0){ 

        return $query->whereBetween('km', [$kmFrom, $kmTo]);   
    }
    return $query;
}

我想为上面的内容编写数据库原始查询,其中我将km 列转换为原始查询中的无符号。

【问题讨论】:

    标签: php mysql laravel laravel-eloquent


    【解决方案1】:

    你可以像这样编写原始查询:

    DB::select("SELECT * FROM table_name);
    

    【讨论】:

      【解决方案2】:

      使用原始查询的语法

       $result_1 = DB::table('tablename')->whereRaw("column name =".$variable)->select('name','improve','email',DB::raw("DATEDIFF('2016-11-10' , `age`) / 365.25 as age"),'age as dob')->first();
      

      或者如果想要完整的原始然后

      DB::select("SELECT * FROM tablename where 1);
      

      希望对您有所帮助!

      【讨论】:

        猜你喜欢
        • 2022-06-27
        • 2019-04-29
        • 1970-01-01
        • 2019-07-13
        • 2018-10-11
        • 2016-04-27
        • 2019-05-31
        • 1970-01-01
        • 2021-03-22
        相关资源
        最近更新 更多