mysql SQL Laravel Eloquent -其中字段可以是大写或小写

kqhtkvqz  于 2023-01-29  发布在  Mysql
关注(0)|答案(4)|浏览(141)

可以是“Airbus“、“airbus“或“AIRBUS

$info = Plane::where('plane_name', '=', $pname)
                    ->where('uid', '=', $uid)
                    ->get();

有没有什么方法可以更新这个查询来检查数据库中的飞机名称而不区分大小写?

xam8gpfp

xam8gpfp1#

使用LOWER MYsql函数和strtolower php函数

$info = Plane::whereRaw('LOWER(plane_name) = (?)', [strtolower($pname)])
                    ->where('uid', '=', $uid)
                    ->get();
    • 或**
Plane::where('plane_name', 'ilike', $pname)->where('uid', '=', $uid)
                    ->get();
mnemlml8

mnemlml82#

只需确保result where子句和query子句也是小写。

where(DB::raw('lower(column_name)'), '=', Str::lower($query))

不要忘记用途:

use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
gmol1639

gmol16393#

添加-〉使用照明\支撑\立面\DB;在控制器文件中。

----------示例--------------

用户信息::其中(数据库::原始('上限(用户名)'),字符串上限($请求-〉用户名))
这是我的工作,希望能帮到你。

tuwxkamq

tuwxkamq4#

为了解决我的问题,我必须在我的模型上这样做。简单的复制和粘贴这个功能

public function __get($key)
    {

        if (is_null($this->getAttribute($key))) {
            return $this->getAttribute(strtoupper($key));
        } else {
            return $this->getAttribute($key);
        }

    }

相关问题