У меня есть эти таблицы:
players
player_histories
clubs
Я хочу искать в playerhistory
,
Если мы ищем имя игрока, то должны отображаться все данные игрока.
В таблице игроков:
$table->string('name');
$table->date('DOB');
$table->string('permanent_address');
$table->string('temporary_address');
$table->string('blood_group');
$table->float('height');
$table->float('weight');
$table->string('complexion');
$table->bigInteger('contact_home');
В клубном столе:
$table->integer('club_id')->unsigned()->index();
$table->foreign('club_id')->references('id')->on('clubs')->onDelete('cascade');
$table->integer('championship_id')->unsigned()->index();
$table->foreign('championship_id')->references('id')->on('championship_details')->onDelete('cascade');
$table->string('game_result_status');
В таблице истории игроков
$table->integer('player_id')->unsigned()->index();
$table->foreign('player_id')->references('id')->on('players')->onDelete('cascade');
$table->integer('previous_club_id')->unsigned()->index();
$table->foreign('previous_club_id')->references('id')->on('clubs')->onDelete('cascade');
$table->integer('current_club_id')->unsigned()->index();
$table->foreign('current_club_id')->references('id')->on('clubs')->onDelete('cascade');
$table->float('salary');
Мой процесс:
routes.blade.php
Route::post(
'search/player',
array(
'as' => 'search/player',
'uses' => 'PlayerHistoryController@searchPlayer'
)
);
Просмотр страницы
{!! Form::open(array('method' => 'Post', 'url' => 'search/player')) !!}
<div class="col-md-3">
</div>
<div class="col-md-3">
<div class="form-group">
<label class="sr-only" for="search_text">Search Text</label>
{!! Form::text('search_text',null,array('class'=>'form-control', 'placeholder' => 'Search player')) !!}
</div>
</div>
<div class="col-md-2">
{!! form::submit('Search Player',[' class'=>'btn btn-primary form-control'])!!}
{!! Form::close() !!}
контроллер:
public function searchPlayer(PlayerHistory $playerhistories, CreateArticleRequest $request) {
$search_text = $request->input ( 'search_text' );
$playerhistories = $playerhistories->searchByPlayer($search_text);
return view('pages.searchPlayer', compact('playerhistories'));
}
репозиторий:
public function searchByPlayer(){
$first = $this->makeModel()->where('player_id', "LIKE", '%' . $search_text . '%')->where('permanent_address', "LIKE", '%' . $search_text . '%');
}
Я хочу поставить имя в player_id
, Как это возможно? Должны ли мы использовать union
искать каждое поле, введенное в 1 поисковый текст?
Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …