Saya sedang membuat papan buletin menggunakan Laravel, dan saya mahu artikel di papan buletin dipaparkan dengan memilih tahun (contohnya, apabila 2022 dipilih, hanya artikel yang diterbitkan pada 2022 akan dipaparkan). Saya merujuk kepada banyak soalan yang serupa dan laman web rasmi Laravel tetapi ia tidak berjalan lancar, inilah yang saya dapat sekarang:
Pilih "blade.php":
<select name="article_year" onchange=""> @foreach ($year as $item) <option value="{{ $item->id}}">{{ $item->name}}</option> @endforeach </select>
index() dalam "Controller.php":
$article_year = $request->get('article_year'); $data['news'] = (new Article())->where('user_year', $article_year)->get();
Boleh sesiapa beritahu saya apa masalahnya? Terima kasih!
Beberapa laman web yang saya rujuk:
Laravel - Permintaan HTTP
Perbincangan Laravel - Bagaimana untuk mendapatkan nilai dari kotak pilihan
Lulus nilai yang dipilih dari paparan ke pengawal dalam Laravel
Kod lengkap pengawal
<?php namespace App\Http\Controllers; use App\Article; use App\Catalog; use App\User; use App\Http\Controllers\Controller; use Request; use App; class HomeController extends Controller { public function __invoke(){} public function index() { $locale = Request::segment(1); $view = 'home'; $article_year = $request->get('article_year'); $data['year'] = (new Catalog())->where('catalog_type_id', 3)->where('is_active', 1)->orderBy('sort_num', 'asc')->get(); $data['news_pin'] = (new Article())->where('is_active', 1)->where('user_year', $article_year)->orderBy('sort_num', 'desc')->get(); $data['news'] = (new Article())->where('is_active', 0)->where('user_year', $article_year)->orderBy('sort_num', 'desc')->get(); return view($view, $data); } }
Terima kasih semua orang atas jawapan anda, semua orang memberi saya idea yang berbeza dan membantu saya mencari jawapannya. Kod saya sedang berjalan:
routing-web.php
blade.php
Pengawal
Saya rasa anda kehilangan beberapa kebergantungan yang melepasi kaedah indeks... itulah sebabnya anda mendapat ralat 500 pelayan
Dalam kaedah indeks anda, anda tidak melepasi pembolehubah $request..Saya rasa kodnya sepatutnya seperti ini
dan tambahkan baris ini pada bahagian atas fail pengawal anda