سلام من میخام وقتی کاربر محصولی بر اساس عنوان یا یه متن جستجو کرد نمایش بده
کد زیر نوشتم چیزی نمایش نمیده وقتی سرچ میکنم
اشکال کار کجاست؟
انتهای کوئری سرچ باید از get استفاده بشه؟
اینجوری هم جواب نگرفتم
public function index()
{
$products = Product::query();
if($keyword = request('search')) {
$products->where('title' , 'LIKE' , "%{$keyword}%")->orWhere('description' , 'LIKE' , "%{$keyword}%" );
}
$blogs = Blog::query();
if($keyword = request('search')) {
$blogs->where('title' , 'LIKE' , "%{$keyword}%")->orWhere('description' , 'LIKE' , "%{$keyword}%" );
}
$products = Product::whereStatus(1)->latest()->paginate(12);
$blog = Blog::whereStatus(1)->latest()->take(3)->get();
$sliders = Slider::latest()->get();
return view('index' , compact(['products' , 'blog' , 'sliders']));
}
کد ویو
<form action="{{url('/')}}" method="GET">
<div class="input-group">
<input type="text" id="searchShop" name="query" class="form-control" placeholder="جستجو محصول ..." value="{{ request('search') }}" required>
<button class="btn btn-primary" type="submit" name="search"><i class="fa fa-search" style="padding-top: 5px;"></i></button>
</div>
</form>
کد ویرو را تغییر دادم
من دارم میزنم کار میکنه
<form action="{{url('/')}}">
<div class="input-group">
<input type="text" id="searchShop" name="search" class="form-control" value="{{ request('search') }}">
<button class="btn btn-primary"><i class="fa fa-search" style="padding-top: 5px;"></i></button>
</div>
</form>
سلام وقتتون بخیر!
من متوجه این قسمت ها نمیشم اصلا
$blogs = Blog::query();
برای جستجو فقط بر اساس اسم یک محصول میتونی اینکارو کنی
$product=Product::where("name","like","%{$request->input("q")}%")->get();
کد بالا رو همین الان و بدون ide و نرم افزار خاصی زدم اگر مشکل داشت با دانش خودتون حلش کنید.
q اسم ورودی هست که از کاربر گرفته شده و اگر خالی باشه همه محصولات رو لود میکنه!
اگر میخواید بگید بر اساس نام یا قیمت باشه کد میشه
$product=Product::where("name","like","%{$request->input("q")}%")
->orWhere("price","like","%{$request->input("q")}%")
->get();
سلام
میخواستم هم برای محصولات هم وبلاگ جستجو انجام بشه
برای همین این کوئری نوشتم
$blogs = Blog::query();
من الان به این شکل نوشتم ولی خب اشتباهه داخل input فقط name نباید نوشت ؟
$products = Product::where("title","LIKE","%{$request->input("title")}%")
->orWhere("price","LIKE","%{$request->input("price")}%")
->get();
@Rp76
خطایی نداره
خروجی همه محصولات نمایش میده
url زیر رو برمیگردونه
http://localhost:8000/?query=asuse&search=
من فکر میکنم یه مشکل اساسی اینه که شما دوباره داری متغییری که بالا با سرچ مقدار دهیش کردی رو مقدار دهی مجدد میکنی و واسه همین سرچت بی فایده میشه
$products = Product::whereStatus(1)->latest()->paginate(12);
$blog = Blog::whereStatus(1)->latest()->take(3)->get();
$sliders = Slider::latest()->get();
این بخش مد نظرمه
به صورت زیر تغییرش بده
$products = $products->whereStatus(1)->latest()->paginate(12);
$blogs = $blogs->whereStatus(1)->latest()->take(3)->get();
$sliders = Slider::latest()->get();
@Rp76 در رابطه با قطعه کدی که فرمودید چی هست اشتباه نکنم ایشون هم سرچش و هم نمایش همه ی اطلاعاتش با همین متد برمیگرده
اون خط کد رو که جدا مینویسی میتونی به صورت دلخواه اگر جستو جویی داشت ب کوئری اضاف کنی اگر نداشت همه رو برگردونی
@TF92 سلام
کدتون را اصلاح کردم
کپی کنین استفاده کنین
public function index()
{
$products = Product::query();
if($keyword = request('search')) {
$products->where('title' , 'LIKE' , "%{$keyword}%")->orWhere('description' , 'LIKE' , "%{$keyword}%" );
}
$blogs = Blog::query();
if($keyword = request('search')) {
$blogs->where('title' , 'LIKE' , "%{$keyword}%")->orWhere('description' , 'LIKE' , "%{$keyword}%" );
}
$products = $products->whereStatus(1)->latest()->paginate(12);
$blog = $blogs->whereStatus(1)->latest()->take(3)->get();
$sliders = Slider::latest()->get();
return view('index' , compact(['products' , 'blog' , 'sliders']));
}
ممنونم ازتون متاسفانه این کد هم کار نمیکنه
مشکل از جای دیگه ای نیست؟
فرم جستجو درست هست؟
<form action="{{url('/')}}" method="GET">
<div class="input-group">
<input type="text" id="searchShop" name="query" class="form-control" placeholder="جستجو محصول ..." value="{{ request('search') }}" required>
<button class="btn btn-primary" type="submit" name="search"><i class="fa fa-search" style="padding-top: 5px;"></i></button>
</div>
</form>
@TF92 بله توی کد فرم جستجوتون name را از query به search تغییر بدین درست میشه و کدی که من فرستادم هم بزارید حتما
کد ویرو را تغییر دادم
من دارم میزنم کار میکنه
<form action="{{url('/')}}">
<div class="input-group">
<input type="text" id="searchShop" name="search" class="form-control" value="{{ request('search') }}">
<button class="btn btn-primary"><i class="fa fa-search" style="padding-top: 5px;"></i></button>
</div>
</form>
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟