【问题标题】:how to get multiple items/users by search in laravel 5如何在 laravel 5 中通过搜索获取​​多个项目/用户
【发布时间】:2017-09-06 22:32:53
【问题描述】:

我正在 laravel 中的搜索模块上工作。当我在搜索输入中提交关键字时,我只得到一条记录。但我有多个用户在一个名称上。如何让多个用户同名..我试过这个

控制器

class SearchController extends Controller
{
    public function find(Request $request)
    {
    $search=$request->input('search-input');


    $getUser = User::join('personalinfos', 'users.id', '=', 'personalinfos.user_id')->where('users.firstName', 'like', '%' . $search . '%')
        ->orWhere('users.lastName', 'like', '%' . $search . '%')->get();


    return view('pages/search-users',compact('getUser'));


    }
}

表格

<form class="navbar-form navbar-right hidden-sm" id="search-form" action="{{url('/find')}}" method="get">
      {{  csrf_field() }}
      <div class="form-group">
        <i class="icon ion-android-search"></i>
        <input type="text" class="form-control" id="search-input" name="search-input"  placeholder="Search friends, photos, videos">
      </div>
    </form>

路线

Route::get('find', 'SearchController@find');

【问题讨论】:

  • 每个用户都有个人信息吗?
  • 我不确定你在做什么?首先,您正在运行两个查询,并且您正在用第二个查询替换第一个查询的结果,那么第一个查询的意义何在 :))
  • @Autista_z 是的,每个用户都有
  • 你的个人信息的 DDL 是什么?
  • @Learner 弄错了抱歉.. 再次查看我更新它

标签: laravel search laravel-5


【解决方案1】:

我猜你正在尝试这样做:

$getUser = User::join('personalinfos AS pi', 'users.id', '=', 'pi.user_id')
               ->where('users.firstName', 'like', '%' . $search . '%')
               ->orWhere('users.lastName', 'like', '%' . $search . '%')
               ->select('users.firstName','users.lastName')
               ->get();

如果它仍然只返回一个用户,这意味着你的条件:

users.id = pi.user_id

仅适用于该用户。

为了确保,运行这个:

$getUser = User::where('firstName', 'like', '%' . $search . '%')
                   ->orWhere('lastName', 'like', '%' . $search . '%')
                   ->select('firstName','lastName')
                   ->get();

如果您的数据库中有多个同名用户,则最后一个必须返回多个用户。

祝你好运!

【讨论】:

  • 最后一个查询返回多个用户,但我也想加入 Personalinfo 表.. 怎么可能返回多个用户和两个表数据
  • 问题是users.id = pi.user_id条件,你需要有各种user_id代表用户表中的各种用户。我猜你在你的个人信息表中只使用了一个 user_id。使用多个 user_id 以便 users 表中的每个用户可以在personalinfo 表中拥有一行。
猜你喜欢
  • 2017-05-28
  • 1970-01-01
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多