我的搜索表单在我的页面上搜索了几个表,我如何进行以下操作并正确搜索?我希望能够搜索代理商名称,客户名称和类型名称以及用户名和密码:
我的观点如下所示
public function index(){
$search = \Request::get('search');
$accounts =
Account::where('clients.name','like','%'.$search.'%')
->orWhere('agencies.name','like','%'.$search.'%')
->orWhere('types.name','like','%'.$search.'%')
->orWhere('username','like','%'.$search.'%')
->orWhere('password','like','%'.$search.'%')
->Join('types', 'accounts.id', '=', 'accounts.type_id')
->Join('agencies', 'accounts.id', '=', 'accounts.agency_id')
->Join('clients', 'accounts.id', '=', 'accounts.client_id')
->paginate(20);
return view('accounts',compact('accounts'));
}
用户名和密码搜索正确,但联接不会带来任何结果
->Join('types', 'accounts.type_id', '=', 'types.id')
->Join('agencies', 'accounts.agency_id', '=', 'agencies.id')
->Join('clients', 'accounts.client_id', '=', 'clients.id')
UPDATE :: 这很有效:
{{1}}
答案 0 :(得分:1)
您的加入似乎有误
->Join('types', 'accounts.id', '=', 'accounts.type_id')
->Join('agencies', 'accounts.id', '=', 'accounts.agency_id')
->Join('clients', 'accounts.id', '=', 'accounts.client_id')
了解' ='你使用账户表,你需要有一方让类型/代理/客户加入工作。
所以它会像
->Join('types', 'accounts.id', '=', 'types.type_id')
->Join('agencies', 'accounts.id', '=', 'agencies.agency_id')
->Join('clients', 'accounts.id', '=', 'clients.client_id')