Laravel 如何在关系中执行通配符?拉维尔

Laravel 如何在关系中执行通配符?拉维尔,laravel,eloquent,Laravel,Eloquent,使用whereHas子句时,我遇到了奇怪的结果。我试图搜索以下“Lorem ipsum,ipsum,Brown女士”。它返回了一个好的结果 第二次我搜索“#ipsum#,Brown女士”,它返回了多个结果,我很困惑,因为我检查了数据库,这是唯一包含该标题的行。应该返回一个结果 有人知道我在下面的代码中做错了什么 $data = Author::query() ->whereHas('books', function ($query) use ($title) {

使用
whereHas
子句时,我遇到了奇怪的结果。我试图搜索以下“Lorem ipsum,ipsum,Brown女士”。它返回了一个好的结果

第二次我搜索“#ipsum#,Brown女士”,它返回了多个结果,我很困惑,因为我检查了数据库,这是唯一包含该标题的行。应该返回一个结果

有人知道我在下面的代码中做错了什么


$data = Author::query()
    ->whereHas('books', function ($query) use ($title) {
        if ($title) {
            $query->where('title', 'LIKE', "%$title%");
        }
    })
    ->get()
    ->load('books');