Laravel绑定替换变量中的问号

Arj*_*jun 5 php laravel laravel-5 laravel-eloquent

我有区域表,如:

-----------------------------
id | name        | level
-----------------------------
1  | India       | country
2  | Some?thing  | country
Run Code Online (Sandbox Code Playgroud)

在这个表中我添加了一行带问号,我想选择该行,如下所示:在eloquent中查询:

Area::select(*)->where("name","LIKE", "%Some?thing%")
               ->where("level","=","country")->get();
Run Code Online (Sandbox Code Playgroud)

但这不会给出结果,因为字符串中的问号用条件替换了绑定

生成的原始sql是:

select * from area where name like %Somecountrything% AND level = ?
Run Code Online (Sandbox Code Playgroud)

但我想要它

select * from area where name like %Some?thing% AND level = country
Run Code Online (Sandbox Code Playgroud)

Rau*_*pta 1

用于whereRaw()

喜欢

DB::table('users')->whereRaw("email LIKE '%Some?thing%'")->get();
Print_r(DB::getQueryLog());
Run Code Online (Sandbox Code Playgroud)

它的输出是这样的:

select * from `abc_users` where email LIKE '%Some?thing%'
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!