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

2 سال پیش توسط bardia مطرح شد
آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
developer ( 37752 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

0
public function scopeSearch($query , $keyword)
    {
        $query->where('title', 'LIKE', '%' . $keyword . '%')
            ->orWhere('body', 'LIKE', '%' . $keyword . '%');
        return $query;
    }
آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
علی بیات ( 440399 تجربه )
3 سال پیش
تخصص : توسعه دهنده ارشد وب

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
developer ( 37752 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

0

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

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

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

@_sj10ss

آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

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

public function scopeSearch($query , $keyword)
    {
        $query->where('title', 'LIKE', '%' . $keyword . '%')
            ->orWhere('body', 'LIKE', '%' . $keyword . '%');
        return $query;
    }
آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
developer ( 37752 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

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', '[email protected]')->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

آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

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

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

???????

آفلاین
user-avatar
developer ( 37752 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

@alirezasafdari

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

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

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

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

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

آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

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 رو میزنم برمی گردونه
اما سال رو میزنم بر نمی گردونه

آفلاین
user-avatar
mahnaz ( 3136 تجربه )
2 سال پیش
تخصص : طراح سایت

لینک کوتاه اشتراک گذاری

0

salam
che tor mishe api serch benvisim
ba tashakor

آفلاین
user-avatar
bardia ( 22926 تجربه )
2 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

1

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

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

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

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.