Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Gagal masuk ke detail data
ketika klik halaman detail data yg diseleksi berdasarkan id, muncul pesan error berikut: <b>Fatal error</b>: Uncaught ArgumentCountError: Too few arguments to function Mahasiswa::detail(), 0 passed in C:\xampp\htdocs\sinauMVC\app\core\App.php on line 35 and exactly 1 expected in C:\xampp\htdocs\sinauMVC\app\controllers\Mahasiswa.php:12 Stack trace: #0 C:\xampp\htdocs\sinauMVC\app\core\App.php(35): Mahasiswa->detail() #1 C:\xampp\htdocs\sinauMVC\public\index.php(5): App->__construct() #2 {main} thrown in <b>C:\xampp\htdocs\sinauMVC\app\controllers\Mahasiswa.php</b> on line <b>12</b><br />
controller Mahasiswa.php
<?php
class Mahasiswa extends Controller{
public function index(){
$data['judul'] = 'Daftar Mahasiswa';
$data['mhs'] = $this->model('Mahasiswa_model')->getAllMahasiswa();
$this->view('templates/header', $data);
$this->view('mahasiswa/index', $data);
$this->view('templates/footer');
}
public function detail($id){
$data['judul'] = 'Detail Mahasiswa';
$data['mhs'] = $this->model('Mahasiswa_model')->getMahasiswaById($id);
$this->view('templates/header', $data);
$this->view('mahasiswa/detail', $data);
$this->view('templates/footer');
}
}
model Mahasiswa_model.php
<?php
class Mahasiswa_model{
private $table = 'mahasiswa';
private $db;
public function __construct(){
$this->db = new Database;
}
public function getAllMahasiswa(){
$this->db->query('SELECT * FROM ' . $this->table);
return $this->db->resultSet();
}
public function getMahasiswaById($id){
$this->db->query('SELECT * FROM ' . $this->table. ' WHERE id=:id');
$this->db->bind('id', $id);
return $this->db->single();
}
}
view detail.php
<div class="container">
<div class="card" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title"><?= $data['mhs'] ['nama']; ?></h5>
<h6 class="card-subtitle mb-2 text-muted"><?= $data['mhs'] ['nrp']; ?></h6>
<p class="card-text"><?= $data['mhs'] ['email']; ?></p>
<p class="card-text"><?= $data['mhs'] ['jurusan']; ?></p>
<a href="<?= BASEURL; ?>mahasiswa" class="card-link">Kembali</a>
</div>
</div>
</div>
1 Jawaban:
ini pakai laravel ya gan?
Harusnya id nya di define jd parameter di route: <pre> Route::get('mahasiswa/{id}', 'Mahasiswa@detail'); </pre>
sumber: https://laravel.com/docs/7.x/controllers