Hai guys kali ini aku mau lanjutin yang kemarin langsung saja ini tutornya
Membuat fungsi public read
Pertama buka file web.php pada folder routes dan isikan codingan ini.
Lalu buat folder baru bernama PublicController di isikan dengan file PostsController.php
pathnya
app/Http/Controllers/PublicController/PostsController.php lalu isikan codingan ini didalam file phpnya.
-----
<?php
namespace App\Http\Controllers\PublicController;
use App\Models\Post;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class PostsController extends Controller
{
public function index(Request $request)
{
$posts = Post::with('user')->OrderBy("id","DESC")->paginate(10)->toArray();
$response = [
"total_count"=>$posts["total"],
"limit"=>$posts["per_page"],
"pagination"=>[
"next_page"=>$posts["next_page_url"],
"current_page"=>$posts["current_page"]
],
"data"=>$posts["data"],
];
return response()->json($response,200);
}
public function show($id)
{
$post = Post::with(['user'=>function($query){
//field id harus disertakan, karena merupakan foreign key
//id dan nama adalah field di table users
$query->select('id','name');
}])->find($id);
if(!$post){
abort(404);
}
return response()->json($post,200);
}
}
-----
setelah itu save jangan lupa
Selanjutnya buka app\models masuk ke file Post.php tambahkan codingan dibawah ini.
lalu buka app\models\User.php tambahkan codingan dibawah ini.
coba test di postman jangan lupa nyalakan xampp dan ketik php -S localhost:8000 -t public di cmd direktori lumen kalian. lalu jalankan postman nya .
coba test dengan public tanpa fokus id
coba test dengan public fokus ke id
selesai.
Membuat fungsi public read
Pertama buka file web.php pada folder routes dan isikan codingan ini.
Lalu buat folder baru bernama PublicController di isikan dengan file PostsController.php
pathnya
app/Http/Controllers/PublicController/PostsController.php lalu isikan codingan ini didalam file phpnya.
-----
<?php
namespace App\Http\Controllers\PublicController;
use App\Models\Post;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class PostsController extends Controller
{
public function index(Request $request)
{
$posts = Post::with('user')->OrderBy("id","DESC")->paginate(10)->toArray();
$response = [
"total_count"=>$posts["total"],
"limit"=>$posts["per_page"],
"pagination"=>[
"next_page"=>$posts["next_page_url"],
"current_page"=>$posts["current_page"]
],
"data"=>$posts["data"],
];
return response()->json($response,200);
}
public function show($id)
{
$post = Post::with(['user'=>function($query){
//field id harus disertakan, karena merupakan foreign key
//id dan nama adalah field di table users
$query->select('id','name');
}])->find($id);
if(!$post){
abort(404);
}
return response()->json($post,200);
}
}
-----
setelah itu save jangan lupa
Selanjutnya buka app\models masuk ke file Post.php tambahkan codingan dibawah ini.
lalu buka app\models\User.php tambahkan codingan dibawah ini.
coba test di postman jangan lupa nyalakan xampp dan ketik php -S localhost:8000 -t public di cmd direktori lumen kalian. lalu jalankan postman nya .
coba test dengan public tanpa fokus id
coba test dengan public fokus ke id
selesai.
Comments
Post a Comment