为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Laravel QueryBuilder 搜索 OR

如何使用 Laravel QueryBuilder 搜索 OR

PHP
慕运维8079593 2021-12-24 09:09:20
我需要搜索包含$msg 中传递的单词之一的每条消息(可能为 1 到 X 个单词)。我的代码用 AND 搜索,所以我只得到包含 $msg 中所有单词的消息。我喜欢用 OR 做同样的事情。$words = explode(' ', $msg);$search = [];foreach($words as $word){    $search[] = ['rawtext', 'LIKE', '%'.$word.'%'];}$messages_search = Message::where($search)->get();
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

$messages_search = Message::where(function ($query) use ($words) {

  foreach ($words as $word) {

    $query->orWhere('rawtext', 'like', '%' . $word . '%');

  }

})->get();

试试这个代码..


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信