首页 > 解决方案 > 使用 eloquent 检索由 SQL LIKE 运算符组成的集合

问题描述

我的网站上有一个搜索表;当用户输入搜索词时,它会传递到 URL 查询字符串中。我想使用这些数据来构建一个使用 SQL LIKE 运算符的集合。

我已经设置了一个带有搜索方法的“产品”控制器。

public function search()
{

    $searchTerm = request('s');

    $products  = Product::where('productTitle', 'LIKE', '%{{$searchTerm}}%');

    return $products;

    return view('search', [
        'searchTerm' => $searchTerm,
        'products' => $products
    ]);
}

但是,当我运行它时,我收到以下错误:

Illuminate\Database\Eloquent\Builder 类的对象无法转换为字符串

标签: phpmysqllaraveleloquent

解决方案


首先,您不需要{{ }}在字符串内,只需执行以下操作:

$products  = Product::where('productTitle', 'LIKE', "%$searchTerm%")->get();

请注意->get(),最后是返回集合的内容。


推荐阅读