Model category
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Katagori extends Model
{
use HasFactory;
protected $fillable = ['name','slug'];
public function post()
{
return $this->hasMany(Post::class);
}
}
model post
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
protected $fillable=[
'seotitle',
'keyword',
'deskripsi',
'title',
'slug',
'body',
'user_id',
'category_id',
'thumbnail'
];
public function tag()
{
return $this->belongsToMany(Tag::class);
}
public function katagori()
{
return $this->belongsTo(katagori::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
public function getPictureAttribute()
{
return asset ('storage/'. $this->thumbnail);
}
public function comments()
{
return $this->morphMany(Comment::class, 'commentable')->whereNull('parent_id');
}
}
controller
<?php
namespace App\Http\Controllers;
use App\Models\Tag;
use App\Models\Menu;
use App\Models\Post;
use App\Models\Team;
use App\Models\Rating;
use App\Models\Partner;
use App\Models\Katagori;
use App\Models\Portfolio;
use App\Models\InsertHeader;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class BerandaController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('welcome',[
'post' => Post::paginate(2),
'team' => Team::paginate(4),
'portofolio' => Portfolio::get(),
'partner' => Partner::get(),
'rating' => Rating::get(),
'info' => InsertHeader::paginate(1),
]);
}
public function about()
{
return view('home.about',[
]);
}
public function faq()
{
return view('home.faq',[
]);
}
public function lisensi()
{
return view('home.lisensi',[
]);
}
public function service()
{
return view('home.service',[
'portofolio' => Portfolio::get(),
]);
}
public function porto()
{
return view('home.portofolio',[
'portofolio' => Portfolio::all(),
]);
}
public function portof($slug)
{
return view('home.portofoliodetail', [
'portofolio' => Portfolio::where('slug', $slug)->get(),
]);
}
public function logo()
{
$logo = DB::table('Logos')->get();
return view('layouts.app',[
'logo' => $logo,
] );
}
public function blog()
{
return view('home.blog',[
'post' => Post::latest()->paginate(6),
'katagori' => Katagori::all(),
'tag' => Tag::all(),
]);
}
// public function katagori(katagori $katagori){
// $katagori = Katagori::all();
// $data = $Katagori->post()->paginate(6);
// return view('home.blog', compact('data','katagori'));
// }
public function artikel($slug)
{
return view('home.blogdetail', [
'katagori' => katagori::all(),
'tag' => Tag::all(),
'post' => Post::where('slug', $slug)->get(),
]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function website()
{
return view('home.layananwebsite',[
'portofolio' => Portfolio::paginate(6),
]);
}
public function digital()
{
return view('home.digitalmarketing',[
'portofolio' => Portfolio::paginate(6),
]);
}
public function seo()
{
return view('home.seo',[
'portofolio' => Portfolio::paginate(6),
]);
}
public function maintenance()
{
return view('home.maintenance',[
'portofolio' => Portfolio::paginate(6),
]);
}
public function program()
{
return view('home.program',[
'portofolio' => Portfolio::paginate(6),
]);
}
public function ads()
{
return view('home.ads',[
'portofolio' => Portfolio::paginate(6),
]);
}
}