Laravel Eloquent区分大小写

时间:2017-03-17 09:18:47

标签: php mysql database laravel eloquent

我想检查输入的数据是否已存在于数据库中。 我一直试图输入已经存在的数据(但具有不同的情况)来测试它。 这是我的查询

        $existing = AmenityType::all()
        ->where('type', $req->type)
        ->first();

但即使我这样做也没有任何回报

->where('lower(type)', strtolower($req->type))

数据库排序规则为'utf8mb4_unicode_ci'

谢谢。

1 个答案:

答案 0 :(得分:1)

调用all()已经返回一个Collection,因此where子句在集合上而不是db上完成。

试试这样:

$binds = array(strtolower($req->type));

$existing = AmenityType::whereRaw('lower(type) = ?'), $binds)->first();

var_dump($existing);