&検索ができない。
解決したいこと
laravelで商品管理ツールを作っているのですが、その中で会社名と商品名を&検索して検索結果を表示するという機能をつけたいです。
発生している問題・エラー
検索機能で会社名と商品名に値を与えて検索すると、
商品名の入力値だけ引っ掛かり会社名が検索ができません。
product.blade.php
div class="search">
<form action="{{ route('product') }}" method="GET">
@csrf
<!-- 検索フォーム -->
<div class="product_name.search">
<label for="product_name">{{ __('商品名') }}</label>
<input type="text" name="keyword" id="keyword" >
</div>
<div class="company_name.serch">
<label for="company_name">{{ __('メーカー') }}<span class="badge badge-danger ml-2">{{ __('必須') }}</span></label>
<select class="form-control" name="company_name" id="company_name">
<option>{{"メーカーを選択してください"}}</option>
@foreach ($companies as $company)
<option name="keyword" id="keyword">{{ $company->company_name }}</option>
@endforeach
</select>
</div>
Productcontroller.php
public function showList(Request $request)
{ // 商品一覧画面表示/検索処理
$keyword = $request->input('keyword');
$query = Product::query();
// メーカーの検索部分の値挿入
$model = new Company();
$companies = $model ->getCompanyNameById();
$query ->join('companies','company_id','=','companies.id')
->select('products.*','companies.company_name')
->where('products.product_name', 'LIKE', "%$keyword%")
->orwhere('companies.company_name', 'LIKE', "%$keyword%")
->get();
$products = $query->get();
return view('product', compact('products','keyword','companies'));
}
Company.php
public function getCompanyNameById(){
$companies = DB::table('companies')->get();
return $companies;
}
自分で試したこと
product.blade.phpでの二つの値を読み込むname属性の値を"keyword"で統一し、その値をコントローラー
で処理をしました。
0