【问题标题】:php - Laravel Search Controllerphp - Laravel 搜索控制器
【发布时间】:2017-12-08 17:36:38
【问题描述】:

我正在尝试进行 Laravel 搜索并停留在以 Eloquent 方式将 POST 数据作为数组处理

HTML 表单为

<form>
    <select name="hidArray[]">
       <option name="test">Test</option>
       <option name="test2">Test2</option>
    </select>
</form>

现在,此输入已被初始化为 Bootstrap Multiselect

当我以 POST 请求的形式获得输入时,它已被表示为如下所示的数组,并且已被预期

array:2 [▼
0 => "test"
1 => "test2"
]

现在,我想形成 Eloquent 查询以从数据库中获取结果。

我尝试如下:

if($request->has('hidArray')){
      $profile->whereIn('hidArray', $request->input('hidArray'));
}

但我认为,这样是行不通的。有没有其他方法可以执行此操作?

【问题讨论】:

  • 您“认为”它不起作用……是什么让您“认为”它不起作用?
  • @lagbox 因为我没有得到想要的结果,但是使用原始 sql 我得到了结果

标签: php laravel-5.5 laravel-eloquent laravel-paginate


【解决方案1】:

我不知道你在做什么,但根据我的理解。

您正在尝试执行以下操作:

$profile = ModelName::where('user_id',$id);

if($request->has('hidArray')){
      $profile = $profile->whereIn('hidArray', $request->input('hidArray'));
}

$profile = $profile->get();

【讨论】:

  • 我只是想确保我写的语句会处理 WhereIn 中的 POST 数组?
  • @Gags 所以试试我给出的解决方案。毕竟你必须自己测试它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-26
  • 1970-01-01
相关资源
最近更新 更多