54 lines
1.4 KiB
PHP
54 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Models\Produk;
|
|
|
|
class LandingController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$query = Produk::with('petani')->latest();
|
|
if ($request->has('kategori') && $request->kategori != '' && $request->kategori != 'Semua') {
|
|
$query->where('kategori', $request->kategori);
|
|
}
|
|
|
|
$produks = $query->take(8)->get();
|
|
if ($request->ajax()) {
|
|
return view('landing.partials.product_list', compact('produks'))->render();
|
|
}
|
|
|
|
$produkTerlaris = Produk::with('petani')
|
|
->inRandomOrder()
|
|
->take(4)
|
|
->get();
|
|
|
|
return view('landing.home', compact('produks', 'produkTerlaris'));
|
|
}
|
|
|
|
public function shop(Request $request)
|
|
{
|
|
$query = Produk::with('petani');
|
|
|
|
if ($request->has('search') && $request->search != '') {
|
|
$query->where('nama_produk', 'like', '%' . $request->search . '%');
|
|
}
|
|
|
|
$produks = $query->paginate(12);
|
|
|
|
return view('landing.shop', compact('produks'));
|
|
}
|
|
|
|
public function detail($id)
|
|
{
|
|
$produk = Produk::with('petani')->findOrFail($id);
|
|
$related_products = Produk::where('petani_id', $produk->petani_id)
|
|
->where('id', '!=', $id)
|
|
->take(4)
|
|
->get();
|
|
|
|
return view('landing.detail', compact('produk', 'related_products'));
|
|
}
|
|
}
|