我认为这很容易解决,但我无法弄明白。我试图用where()
语句过滤我的数据库。
Laravel文档(https://laravel.com/docs/5.4/queries)声明:
DB::table('satellites')->where('satname', 'falcon')->get();
我按照文档中的说明尝试了查询,但遗憾的是,这不起作用。
我正在尝试使用名为falcon
的数据库中的satname
列中的satellites
字词过滤该数据库。
我也尝试过:->where('satname', '=', 'falcon')
。
我认为我只是做了一个简单的错误而忘记了某些事情!
答案 0 :(得分:0)
你说"过滤,"通过查看评论,这似乎意味着不是完全搜索,这意味着完全' falcon'但是包含猎鹰的东西。您正在寻找的是LIKE运算符。
DB::table('satellites')
->whereRaw("satname LIKE 'falcon%'")
->get();
这会返回satname以falcon开头的任何东西:falcon 1,falcon 9,falcon 318929等。
要获得包含猎鹰的所有内容,请使用" satname LIKE'%falcon%'"。这将包括:猎鹰9,测试猎鹰,测试猎鹰82等等。