嗨我在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;
}
我想编写上面的db raw查询,我在其中将km
列转换为原始查询中的unsigned。
答案 0 :(得分:0)
您可以编写原始查询,执行以下操作:
DB::select("SELECT * FROM table_name);
答案 1 :(得分:0)
使用原始查询的语法
$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);
希望它会对你有所帮助!