[初級] php/laravel 検索機能実装 検索結果が表示されない
解決したいこと
投稿アプリの投稿のキーワードを拾い、表示させる検索処理を実装しています。
発生している問題・エラー
検索処理が行われない。
検索窓にキーワードを入力しても、エラーにもならず、表示も変わらない。
前提
Micropostsテーブルは、投稿テーブル(Postsテーブル)
該当するソースコード
my-laravel-app/app/Http/Controllers/MicropostController.php
/**
* 投稿一覧表示アクション
*/
public function index(Request $request)
{
$microposts = Micropost::getAll();
$viewParams = [
'microposts' => $microposts,
];
#キーワード受け取り
$search = $request->input('search');
#クエリ生成
$query = micropost::query();
#もしキーワードがあったら
if($search = request('search'))
{
$query->where('users','like','%{$search}%')->orWhere('content','like','%{$search}%');
}
return view('micropost.index', $viewParams);
}
my-laravel-app/database/migrations/2021_02_26_141741_create_microposts_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateMicropostsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('microposts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->text('content');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('microposts');
}
}
自分で試したこと
投稿一覧表示アクション内に検索実装を追加しました。
heroku 7.49.1
docker環境
Laravel Framework 7.30.4
プッシュなどはgithub desktop使用
0