راکت
bardia
bardia
توسط bardia مطرح شد
16 پاسخ

ساخت یک سرچ ساده با لاراول

سلام میخوام یه سرچ ساده با لاراول دورس کنم
چندتا مطالب توی سایت های خارجی دیدم اما اجرا نمیشدن
کسی سرچ ساده بلده یه نمونه کد بزار اینجا
ممنون


ثبت پرسش جدید
developer
developer
تخصص :برنامه نویس
@developer8 سال پیشمطرح شد
0
public function scopeSearch($query , $keyword)
    {
        $query->where('title', 'LIKE', '%' . $keyword . '%')
            ->orWhere('body', 'LIKE', '%' . $keyword . '%');
        return $query;
    }

bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
-1

@alirezasafdari
خصوصیت اکشن فرم و روت رو باید چطور بنویسم براش؟


bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
0

@alirezasafdari
متغییر ی که ارسال داره میشه چرا دریافت نداره مثلن input یا get


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat8 سال پیشمطرح شد
0

@_sj10ss
به scope اول تابع دقت کنید.
این متد باید در یک مدل لاراول قرار بگیره.. کارهایی رو که می‌خواهید با input و get انجام بدید لاراول برای شما انجام میده بعلاوه خیلی کارهای دیگه


developer
developer
تخصص :برنامه نویس
@developer8 سال پیشمطرح شد
0

شما همین چیزی که فرستادم رو بذارید توی مدل تون، بعد توی کنترلر اینطوری بنویسید:

public function search(){
        $key = request('keyword');
        $lessons = Lesson::search($key)->latest()->get();
        return view('front.section.search', compact('lessons','key'));
    }

توی ویو هم کلمه کلیدی رو توی یک فرم به صورت get ارسال کن

@_sj10ss


bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
-1

@ali.bayat
میشه بیشتر توضیح بدید
خیلی سطحی بود


bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
0

اینو توی مدل بزرام؟
@alirezasafdari

public function scopeSearch($query , $keyword)
    {
        $query->where('title', 'LIKE', '%' . $keyword . '%')
            ->orWhere('body', 'LIKE', '%' . $keyword . '%');
        return $query;
    }

bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
-1

@alirezasafdari
میشه سوروس کد کاملی دارید برام بفرستید
یه خورده کامل تر توضیح میدید


developer
developer
تخصص :برنامه نویس
@developer8 سال پیشمطرح شد
2

ویو:

    <form action="{{route('search')}}" class="w-100" method="get">
                <div class="input-group">
                    <input name="keyword" type="text" class="form-control"
                           placeholder="جستجو در پرسش ها، دوره ها، ویکی ها، وکلا و ...">
                    <div class="input-group-prepend d-none d-lg-flex"
                         style="border-top-right-radius: 0px; border-bottom-right-radius: 0px ">
                        <button type="submit" class="input-group-text text-white"
                                style="border: 0px; background-color:rgb(0,174,234);">جستجو
                        </button>
                    </div>
                </div>
            </form>

روت:

    Route::get('/search', 'searchController@search')->name('search');

کنترلر:

    public function search(){
            $key = request('keyword');
            $lessons = Lesson::search($key)->latest()->get();
            return view('front.section.search', compact('lessons','key'));
        }

مدل:

    public function scopeSearch($query , $keyword)
        {
            $query->where('title', 'LIKE', '%' . $keyword . '%')
                ->orWhere('body', 'LIKE', '%' . $keyword . '%');
            return $query;
        }

یک خرده به کد ها دقت کنی متوجه میشید، چیز خاصی نداره

@_sj10ss


bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
-1

@alirezasafdari
خروجی چیزی بهم نشون نمیده اصلان
مشکل از کجاست؟


bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
0

@alirezasafdari
در حالی که در دستور زیر key رو چاپ می کنه اما lessons رو چاپ نمی کنه

    public function search(){
            $key = request('keyword');
            $lessons = Lesson::search($key)->latest()->get();
            return view('ly.show', compact('lessons','key'));
        }

???????


developer
developer
تخصص :برنامه نویس
@developer8 سال پیشمطرح شد
0

سرچ رو بردارید ببینید خود درسها رو بر میگردونه یا نه؟
lesson یک بخش سایت خودم هست، شما باید مدلی که میخواین توش سرچ بشه رو بذارید،
در ضمن اگه چیزی چاپ نمیکنه شاید بدلیل اینه که هیچ نتیجه ای پیدا نکرده


bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
-1

@alirezasafdari

نه ببخشید اصلاح شده قسمت کد بالا به این صورت هست lesson نداره
اما باز اجرا نمیشه

$lessons = Movie::search($key)->latest()->get();

در ضمن من دارم از پایگاه داده neo4j استفاده می کنم که برای واکشی تو مستنداتش گفته باید به صورت زیر واکشی بشه

$tagline=DB::table('Movie')->collect('tagline');

یعنی به صورت collect
حالا میخوامبه کویر فوق collect اضافه کنم باید چیکار کنم


bardia
bardia
تخصص :Golang/Laravel
@mrbardia728 سال پیشمطرح شد
0

@alirezasafdari

من کنترلر رو به صورت زیر نوشتم
باید عمل کنه اما خروجی برنمی گردونه

  public function search() {
    $key = request('keyword');
    $lessons = Movie::find($key);

    $lessons1=Movie::Where('released', '=',$key)->collect('title');
      return view('ly.show',compact('lessons','key','lessons1')) ;
  }

در واقع id رو میزنم برمی گردونه
اما سال رو میزنم بر نمی گردونه


mahnaz
mahnaz
تخصص :طراح سایت
@mahnazzes7 سال پیشمطرح شد
0

salam
che tor mishe api serch benvisim
ba tashakor


bardia
bardia
تخصص :Golang/Laravel
@mrbardia727 سال پیشمطرح شد
1

@mahnazzes
با د ادن پارامتر در url می تونید سرچ داشته باشید
مثلن به صورت زیر

www.ariport.com/api/v1/flights/A2WE0FG

اون کد آخر برای جست و جوی مشخصات پروازی هست
به این صورت با دادن پارامتر میشه جست و جو د اشت


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام