Table name :tmp_harga_jual
id Primary int(11)
nama varchar(100)
satuan varchar(20)
harga decimal(10,2)
kode_modal varchar(20)
1. create Model app/Models/TmpHargaJualModel.php
<?php
namespace App\Models;
use CodeIgniter\Model;
class TmpHargaJualModel extends Model
{
protected $table = 'tmp_harga_jual';
protected $primaryKey = 'id';
protected $allowedFields = [
'nama',
'satuan',
'harga',
'kode_modal'
];
protected $returnType = 'array';
}
2. create Controller app/Controllers/TmpHargaJual.php
<?php
namespace App\Controllers;
use App\Models\TmpHargaJualModel;
use CodeIgniter\RESTful\ResourceController;
class TmpHargaJual extends ResourceController
{
protected $modelName = TmpHargaJualModel::class;
protected $format = 'json';
public function index()
{
$data = $this->model->findAll();
return $this->respond([
'status' => 'success',
'data' => $data
]);
}
}
3. Add route app/Config/Routes.php
<?php
use CodeIgniter\Router\RouteCollection;
/**
* @var RouteCollection $routes
*/
$routes->get('/', 'Home::index');
$routes->get('hello', 'Hello::index');
$routes->get('harga-jual', 'TmpHargaJual::index');
Add search
modify app/Controllers/TmpHargaJual.php
<?php
namespace App\Controllers;
use App\Models\TmpHargaJualModel;
use CodeIgniter\RESTful\ResourceController;
class TmpHargaJual extends ResourceController
{
protected $modelName = TmpHargaJualModel::class;
protected $format = 'json';
public function index()
{
$nama = $this->request->getGet('nama');
if ($nama) {
$data = $this->model
->like('nama', $nama)
->findAll();
} else {
$data = $this->model->findAll();
}
return $this->respond([
'status' => 'success',
'count' => count($data),
'data' => $data
]);
}
}
Test using curl
$ curl "http://localhost/myapp/harga-jual?nama=kopi
Common functions:
| HTTP | URL | Meaning |
| ------ | --------------- | -------- |
| GET | `/harga-jual` | List all |
| GET | `/harga-jual/1` | Get one |
| POST | `/harga-jual` | Create |
| PUT | `/harga-jual/1` | Update |
| DELETE | `/harga-jual/1` | Delete |